Juggle <= 1.6.0 - Unauthenticated Exposed H2 Database Console
| Reporter | Title | Published | Views | Family All 8 |
|---|---|---|---|---|
| CVE-2026-67208 | 30 Jul 202619:17 | – | attackerkb | |
| CVE-2026-67208 | 30 Jul 202620:04 | – | circl | |
| CVE-2026-67208 | 30 Jul 202619:17 | – | cve | |
| CVE-2026-67208 Juggle 1.6.0 Unauthenticated RCE via Exposed H2 Console | 30 Jul 202619:17 | – | cvelist | |
| EUVD-2026-51278 | 30 Jul 202619:17 | – | euvd | |
| CVE-2026-67208 | 30 Jul 202620:18 | – | nvd | |
| PT-2026-66572 | 30 Jul 202600:00 | – | ptsecurity | |
| CVE-2026-67208 Juggle 1.6.0 Unauthenticated RCE via Exposed H2 Console | 30 Jul 202619:17 | – | vulnrichment |
id: CVE-2026-67208
info:
name: Juggle <= 1.6.0 - Unauthenticated Exposed H2 Database Console
author: str4k3r
severity: critical
description: |
Juggle ships the H2 database web console enabled and reachable from
non-localhost by default. No application-level authentication covers
the /h2-console path, and the shipped default datasource credentials
(sa/juggle) are known. An unauthenticated remote attacker can reach the
console and, using the default credentials, achieve OS command
execution on the host via the H2 CREATE ALIAS Runtime.exec() technique.
impact: |
Unauthenticated remote attackers can execute arbitrary OS commands with root privileges, leading to full system compromise.
remediation: |
Update to the latest version and change default credentials; restrict access to /h2-console.
reference:
- https://github.com/somta/Juggle/issues/86
- https://www.vulncheck.com/advisories/juggle-unauthenticated-rce-via-exposed-h2-console
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
cvss-score: 9.8
cve-id: CVE-2026-67208
epss-score: 0.04233
epss-percentile: 0.90137
cwe-id: CWE-306
metadata:
verified: true
max-request: 2
product: juggle
vendor: somta
tags: cve,cve2026,juggle,h2,exposure,unauth,rce
flow: |
http("juggle-detect") && http("h2-console-check")
http:
- method: GET
id: juggle-detect
path:
- "{{BaseURL}}"
matchers:
- type: dsl
dsl:
- 'status_code == 200'
- 'contains(body, "<title>Juggle</title>")'
condition: and
internal: true
- method: GET
id: h2-console-check
path:
- "{{BaseURL}}/h2-console/"
matchers-condition: and
matchers:
- type: status
status:
- 200
- type: word
part: body
words:
- "<title>H2 Console</title>"
- "login.jsp?jsessionid="
condition: and
# digest: 490a004630440220191470cbbac630508b033fb08a1f3628a8e78df54e346df80520caad9ca76ea4022033c12926a02e80af5bf0e64bc740b4b2ff123e66ba5c7fa11e5c62ff4f37167c:922c64590222798bb761d5b6d8e72950Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation
08 Aug 2026 19:43Current
5.4Medium risk
Vulners AI Score5.4
CVSS 49.3
CVSS 3.19.8
EPSS0.04233
SSVC