Skip to main content

Eclipse Jetty CVE-2026-18661

| EUVDEUVD-2026-101954 HIGH
Incorrect Authorization (CWE-863)
2026-10-15 eclipse GHSA-gvw6-wq7h-rwp3
8.8
CVSS 4.0 · Vendor: eclipse
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Identify Jetty app with multi-pattern servlet
  2. Exploit
    Request url-pattern missing security-constraint
  3. Execution
    Bypass authorization enforcement
  4. Impact
    Access protected resource data

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires a target application deployed on an affected Jetty version where: (1) a servlet is mapped to more than one url-pattern in web.xml, (2) a web.xml security-constraint applies to only some of those url-patterns, and (3) @ServletSecurity annotations are mixed with the web.xml-defined constraints. Under these conditions the Jakarta spec authoritative url-pattern rules are not applied, leaving certain patterns unprotected. The attacker side needs only remote, unauthenticated HTTP access (AV:N/PR:N/UI:N), but the vulnerability does NOT exist against default or single-pattern configurations - it is strictly gated by this specific application-level web.xml/annotation layout, which materially limits the exposed population.

Impact

This is a security-constraint/authorization bypass in Eclipse Jetty's annotation processing (jetty-annotations and jetty-eeN-annotations), flagged as Information Disclosure. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:L/VA:N) rates it 8.8, indicating a remote, low-complexity, unauthenticated attack with high confidentiality impact and low integrity impact - consistent with an attacker reaching resources that should have been protected by a security-constraint. The real-world risk is tempered by a specific non-default prerequisite: the Jakarta spec url-pattern merge rules are only mishandled when a servlet has more than one url-pattern in web.xml AND a security-constraint covers only some of those patterns alongside @ServletSecurity annotations. No EPSS score, CISA KEV listing, or public POC was provided in the input, so there is no evidence of active exploitation; the SSVC framework cannot be fully evaluated because exploitation/automatable signals are absent. The headline PR:N (unauthenticated) rating reflects the attacker's position, but exploitability depends entirely on the victim application's web.xml configuration, so this is a genuine-but-conditional priority rather than a universally exploitable flaw - patch promptly on apps using mixed annotation/web.xml security constraints, but mass-scanning risk is lower than the raw score implies.

Exploit ScenarioDerived

An attacker remotely requests a URL served by a Jetty-hosted application where a servlet is mapped to multiple url-patterns but a web.xml security-constraint only protects a subset of them, combined with @ServletSecurity annotations. Because the url-pattern merge rules are not applied, the attacker reaches the servlet via an unprotected pattern that should have been authorization-gated, retrieving protected content without credentials. No public exploit code was identified at time of analysis, and exploitation requires the specific multi-pattern/partial-constraint configuration to be present.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 15, 2026

Security-constraint bypass in Eclipse Jetty leaves some request URL patterns unprotected when annotation and deployment-descriptor security metadata are mixed, specifically in the jetty-annotations and jetty-eeN-annotations modules. The flaw triggers only in a narrow application layout: a servlet declared in web.xml with more than one url-pattern, a web.xml security-constraint that covers only a subset of those patterns, and @ServletSecurity annotations present at the same time, in which case the Jakarta Servlet specification's authoritative url-pattern precedence rules are not applied and the uncovered patterns remain reachable. Because the resulting access is reachable over the network with no credentials (CVSS 4.0 AV:N/PR:N/UI:N, independently assessed as CVSS 3.1 AV:N/AC:L/PR:N/UI:N), an unauthenticated remote attacker can read content that should have been restricted, yielding a high confidentiality impact with a low integrity impact and no availability impact; exploitation is strictly gated by the application-level web.xml/annotation layout rather than by the Jetty version alone, and no public exploit identified at time of analysis.

RemediationAI

An exact fixed version is not specified in the data available at time of analysis, so the primary action is to consult the Jetty project security advisory GHSA-v6xf-996f-c35f and the Eclipse CVE assignment record for the corrected Jetty releases and upgrade the full Jetty distribution (the fix ships in the jetty-annotations / jetty-eeN-annotations artifacts, which are pulled in transitively, so upgrading only an inner module without the matching server version can reintroduce the issue). Because the defect is configuration-gated, the most reliable compensating control is to remove the triggering layout from your application: do not rely on a web.xml security-constraint that covers only a subset of a multi-pattern servlet mapping, and do not mix @ServletSecurity annotations with web.xml constraints on the same url-pattern; either express the constraints entirely in web.xml with an explicit constraint for every pattern the servlet is mapped to, or move them entirely into annotations. If mappings cannot be consolidated, add explicit security-constraints covering each additional url-pattern (the trade-off is duplicated, harder-to-maintain descriptor entries that drift over time), or reduce the servlet to a single url-pattern and route the other paths through it (the trade-off is a change in application URL structure and possible breakage of cached or bookmarked links). As a stopgap where the application cannot be changed or upgraded immediately, front the affected contexts with a reverse proxy or servlet filter that enforces authorization on the previously unprotected patterns, accepting that this duplicates enforcement logic outside the container and must be kept in sync with the intended policy; verify the fix by exercising each url-pattern after the change, since a silent bypass leaves no error in the logs.

Affected VersionsENISA

Eclipse Jetty 10.0.0 ≤10.0.32
Eclipse Jetty 12.0.0 ≤12.0.38
Eclipse Jetty 12.1.0 ≤12.1.11
Eclipse Jetty 9.4.0 ≤9.4.64
Eclipse Jetty 11.0.0 ≤11.0.32

Affected Packages

euvd eclipse_jetty no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The vulnerability lives in Jetty's annotation-scanning layer, shipped as the jetty-annotations module and its Jakarta-EE-namespace-specific variants (jetty-eeN-annotations), which reconcile three sources of servlet security metadata at deployment time: the Jakarta Servlet specification's url-pattern matching and precedence rules, the web.xml deployment descriptor, and class-level @ServletSecurity annotations. In a correct implementation, the container must apply the specification's authoritative url-pattern rules when a given pattern is described by both a web.xml security-constraint and an @ServletSecurity annotation, so that neither source silently suppresses the other. Here, when web.xml maps a single servlet to multiple url-patterns and defines a security-constraint that applies to only some of them, the annotation-processing code fails to apply those authoritative rules to the remaining patterns, so constraints that the application author did believe were in force are effectively dropped for the unprotected patterns. No CWE was assigned in the source data, but the defect class is best described as incorrect authorization / improper restriction of access enforced through misapplied security configuration (CWE-863 / CWE-284 family) rather than a memory-safety or injection issue. The supplied CPE data lists five wildcard-version entries under cpe:2.3:a:eclipse_foundation:eclipse_jetty, indicating the issue spans multiple Jetty product streams and Jakarta EE namespace levels; the exact version boundaries are not enumerated in the input and must be taken from the vendor advisory.

Know when Eclipse Jetty gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (eclipse) PRIMARY 8.8 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N
vuln.today AI 8.2 HIGH

Unauthenticated remote request reaches a resource that should have been constraint-protected (PR:N, AV:N, AC:L), yielding high confidentiality and low integrity impact with no availability effect.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (eclipse).

CVSS VectorVendor: eclipse

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

In Eclipse Jetty, across various versions of jetty-annotations, and jetty-eeN-annotations, the Jakarta Spec authoritative url-pattern rules for mixed @ServletSecurity annotation, and web.xml defined security-constraint on the same url-pattern were not being applied if the web.xml had more than 1 url-pattern for a servlet, and had a security-constraint applying to only some of those url-pattern definitions.

Technical POC Analysis

CWE-863 (Incorrect Authorization).

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

Eclipse Jetty, a widely embedded Java web server and servlet container used across many enterprise applications and appliances, contains a security-constraint bypass (CVE-2026-18661, CVSS 8.8) that can expose protected URLs to unauthenticated remote users. The flaw only surfaces in applications that combine web.xml servlet declarations with multiple URL patterns, partial web.xml security-constraints, and @ServletSecurity annotations, so exposure is limited to teams running that specific configuration rather than all Jetty deployments. Because the weakness silently grants read access to content that policy intended to restrict, any organization using Jetty's annotation and descriptor-based security metadata should treat this as an urgent configuration and exposure review item.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: enforce authentication and authorization for the affected URL patterns at an upstream reverse proxy, API gateway, or WAF; remove or consolidate the partially-covered url-patterns so that web.xml security-constraints and @ServletSecurity annotations no longer overlap inconsistently; and verify anonymous reachability of every declared url-pattern, restricting or disabling exposed endpoints until remediation.

Threat Intelligence Overview

EPSS Score
0.3%
Top 75% exploitable
Prevalence
High
Eclipse Jetty is a widely deployed Java servlet container and embedded web server
Social Media
1
Sightings
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment CIRCL GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

CVE-2026-2332 CRITICAL
9.1 Apr 14

HTTP request smuggling in Eclipse Jetty's HTTP/1.1 parser lets remote unauthenticated attackers desynchronize front-end/

CVE-2026-19204 HIGH
8.7 Sep 07

Unauthenticated remote denial-of-service in Eclipse Jetty's WebSocket implementation allows any network-accessible clien

CVE-2026-12611 HIGH
8.7 Sep 08

HTTP/2 thread-exhaustion denial-of-service in Eclipse Jetty allows unauthenticated remote clients to permanently block a

CVE-2026-19203 HIGH
8.3 Sep 08

HTTP/1.1 request smuggling in Eclipse Jetty allows unauthenticated remote attackers to desynchronize request boundary pa

CVE-2026-77711 HIGH
8.2 Oct 15

Eclipse Jetty's HttpClient can disclose proxy authentication credentials to a malicious server when the server returns a

CVE-2026-76184 HIGH
8.2 Oct 15

Path-normalization weakness in Eclipse Jetty's HttpClient causes credential disclosure: when HttpClient receives a redir

CVE-2026-5795 HIGH
7.4 Apr 08

Privilege escalation in Eclipse Jetty 9.4.0-12.1.7 allows unauthenticated remote attackers to bypass authentication via

CVE-2026-76182 MEDIUM
6.9 Oct 15

Query-parameter injection in Eclipse Jetty's TryPathsHandler and TryFilesFilter allows unauthenticated remote attackers

CVE-2026-10051 MEDIUM
6.9 Jul 14

HTTP/1.1 trailer leakage in Eclipse Jetty allows a remote unauthenticated attacker to read trailer headers from a previo

CVE-2026-6790 MEDIUM
5.3 Jul 14

Eclipse Jetty fails to enforce RFC 9110/9112's requirement that the HTTP request authority (host and port) match the val

CVE-2026-8384 MEDIUM
5.3 Jul 14

Eclipse Jetty mishandles HTTP URI path parameters containing semicolons combined with traversal sequences, delivering an

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy