Vulnerability in org.eclipse.jetty:jetty-util (CVE-2026-8384)
Summary
Vulnerability in org.eclipse.jetty:jetty-util (CVE-2026-8384). Risk of unauthorized operations or information disclosure. Exploitable via GET /admin/secret. Mitigation: upgrade to 12.1.9 or later.
Original description
The description as published by the source.
Description (as reported)
Summary
In Jetty 12.1.8, org.eclipse.jetty.util.URIUtil.canonicalPath() may leave dot-dot path segments unnormalized when a semicolon path parameter marker is followed by a slash and a dot
segment.
A minimal example is:
/public;/../admin/secret
In my local reproduction, URIUtil.canonicalPath() returns:
/public/../admin/secret
instead of the expected normalized path:
/admin/secret
When Jetty's SecurityHandler.PathMapped is used to protect a path prefix such as /admin/*, the non-normalized canonical path may not match the protected prefix. As a result, an unauthenticated request may bypass the configured path-based security constraint.
Tested Version
Jetty: 12.1.8
JDK: 17.0.18
Maven: 3.9.14
Maven artifacts used:
org.eclipse.jetty:jetty-server:12.1.8
org.eclipse.jetty:jetty-security:12.1.8
org.eclipse.jetty:jetty-session:12.1.8
Only confirmed Jetty 12.1.8 so far.
Minimal Reproduction
Starts a minimal Jetty server with the following security setup:
SecurityHandler.PathMapped security = new SecurityHandler.PathMapped();
security.put("/admin/*", Constraint.from("admin"));
security.put("/*", Constraint.ALLOWED);
security.setAuthenticator(new BasicAuthenticator());
The test then sends requests with no Authorization header.
Observed result:
GET /admin/secret -> 401
GET /public;x/../admin/secret -> 200
The handler receives paths such as:
`/public/../admin/se…
Source: NIST National Vulnerability Database NVD GitHub Advisory
Auto-generated summary
Assembled by SecPulse from the source data (CVSS, CWE, affected versions) using templates — no AI involved. Check the original description and references below for exact details.
A vulnerability tracked as CVE-2026-8384 has been found in org.eclipse.jetty:jetty-util.
Attackers can target a specific entry point like GET /admin/secret over the network to misuse the product.
Risk of unauthorized operations or information disclosure. CVSS score: 5.3/10.
What to do: upgrade org.eclipse.jetty:jetty-util to 12.1.9 or later.
If unsure, ask your IT team or search "org.eclipse.jetty:jetty-util CVE-2026-8384" on the vendor's site.
CVE-2026-8384 (org.eclipse.jetty:jetty-util) — CWE-647 / CVSS v3 5.3
Attack vector: remote (network-reachable) / unauthenticated / no user interaction
Attack surface: GET /admin/secret / GET /public / SecurityHandler.PathMapped / Authorization
Patched: 12.1.9 — apply immediately
Plan: 1) Audit SBOM/dependencies, 2) Stage→prod upgrade, 3) Add WAF/proxy monitoring on affected endpoints, 4) Hunt IOCs in logs.
Refs: see the GHSA / vendor advisory / patched release linked on this page.
A vulnerability (CWE-647) exists in org.eclipse.jetty:jetty-util. Attackers reach the vulnerable code path via GET /admin/secret without authentication.
Check the vendor advisory for the affected versions of org.eclipse.jetty:jetty-util. Attack surface: GET /admin/secret / GET /public / SecurityHandler.PathMapped / Authorization.
Severity: Medium (CVSS 5.3/10). Risk of unauthorized operations or information disclosure.
Update to 12.1.9.
Until the patch is applied: disable the affected feature, apply WAF rules, or restrict access via network ACLs.
Search webserver/proxy logs for unusual GET /admin/secret requests with malformed payloads or SQL meta-characters. Audit SBOM/dependencies to find affected services.
Response actions
Concrete steps and command examples for SOC/SRE teams to execute in order
-
1Identify exposure identify
Audit SBOM/dependencies for affected components.資産台帳・SBOM・依存マニフェストで org.eclipse.jetty:jetty-util を使っているサービスとバージョンを洗い出す。
-
2Hunt for indicators of compromise detect
grep 'GET /admin/secret' /var/log/nginx/access.log | grep -E '(unusual_payload|sqli_pattern)'アクセスログで
GET /admin/secretへの異常なリクエスト (不正な認証ヘッダ・SQLメタ文字)を過去 30〜90日分捜索。WAF/SIEM があれば該当パスのアラート発火履歴を確認。 -
3Apply patch patch
Upgrade org.eclipse.jetty:jetty-util to 12.1.9ステージング環境で 12.1.9 に上げて回帰テスト → 本番反映。回帰テストはアプリの主要ハッピーパスと、Step 2 で見つけた異常検知の続報チェックを含めること。
-
4Post-deployment verification verify
Replay attack against GET /admin/secret on staging to confirm patch closes the vectorパッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番では Step 2 と同じログクエリでアラート再発が無いか継続監視。
Affected packages
Fix status by distribution
Fixed packages published by each distribution for this CVE
- Ubuntu UBUNTU-CVE-2026-8384 jetty9
References
- web gitlab.eclipse.org
- web github.com
- web nvd.nist.gov
- web github.com
- web github.com
- web github.com
- web github.com
- web github.com
- web github.com
- web github.com