GitHub Advisoryadvisory · Maven

GHSA-f4v5-65jj-pcr2 Eclipse Jetty: Cross-Request Leakage for trailers on HTTP/1.1 keep-alive connections

MEDIUM Published 2026-07-22 Modified 2026-07-22 Official page ↗
Aliases
CVE-2026-10051
Ecosystem
Maven
Packages
org.eclipse.jetty:jetty-server
Severity
Moderate
CVSS vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Weaknesses
CWE-200
Reviewed
2026-07-22

Affected packages

• Maven org.eclipse.jetty:jetty-server: >= 12.0.0, < 12.0.36 → fixed in 12.0.36 • Maven org.eclipse.jetty:jetty-server: >= 12.1.0, < 12.1.10 → fixed in 12.1.10

Description

Description > FINDING — MEDIUM (HTTP/1.1 keep-alive connections with trailers) > HttpConnection._trailers Cross-Request Leakage (Never Reset Between Requests) > > Location: > jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/internal/ > HttpConnection.java:107, 1157-1161, 1170 > > Detail: > _trailers (line 107) is a connection-scoped HttpFields.Mutable field. > parsedTrailer() (line 1157) populates it when request N carries HTTP trailers. > messageComplete() (line 1170) checks "if (_trailers != null)" — evaluates true > from request N's data — and stamps it onto request N+1. > > Grep confirms: ZERO occurrences of "_trailers = null" in entire HttpConnection.java. > > Scenario: > Request N: POST /upload (trailers: X-Checksum: abc123) > Request N+1: GET /data (no trailers) > app: request.getTrailers() on N+1 → returns {X-Checksum: abc123} ← STALE > > Application logic branching on getTrailers() != null produces incorrect behavior. > Not cross-connection (same keep-alive connection only). > > More dangerous scenario: TOCTOU — trailer passes check, target swapped before use. Workarounds Do not rely on HTTP request trailers for security-sensitive logic, or disable persistent connections by closing the connection after each HTTP/1.1 request.

Related

Alias · CVE (1)

  • CVE-2026-10051 In Eclipse Jetty, a first HTTP/1.1 request with trailers causes the server to retain the trailers in subsequent requests performed over the… vulnerability

Weakness · CWE (1)

  • CWE-200 Exposure of Sensitive Information to an Unauthorized Actor weakness

References