{"id":"CVE-2026-10051","aliases":["GHSA-f4v5-65jj-pcr2"],"url":"https://o3.security/vulnerability/CVE-2026-10051","summary":"Eclipse Jetty: Cross-Request Leakage for trailers on HTTP/1.1 keep-alive connections","details":"### Description\n\n> FINDING — MEDIUM (HTTP/1.1 keep-alive connections with trailers)\n> HttpConnection._trailers Cross-Request Leakage (Never Reset Between Requests)\n> \n> Location:\n>   jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/internal/\n>   HttpConnection.java:107, 1157-1161, 1170\n> \n> Detail:\n>   _trailers (line 107) is a connection-scoped HttpFields.Mutable field.\n>   parsedTrailer() (line 1157) populates it when request N carries HTTP trailers.\n>   messageComplete() (line 1170) checks \"if (_trailers != null)\" — evaluates true\n>   from request N's data — and stamps it onto request N+1.\n> \n>   Grep confirms: ZERO occurrences of \"_trailers = null\" in entire HttpConnection.java.\n> \n>   Scenario:\n>     Request N:   POST /upload (trailers: X-Checksum: abc123)\n>     Request N+1: GET  /data   (no trailers)\n>     app: request.getTrailers() on N+1 → returns {X-Checksum: abc123} ← STALE\n> \n>   Application logic branching on getTrailers() != null produces incorrect behavior.\n>   Not cross-connection (same keep-alive connection only).\n> \n>   More dangerous scenario: TOCTOU — trailer passes check, target swapped before use.\n\n### Workarounds\nDo not rely on HTTP request trailers for security-sensitive logic, or disable persistent connections by closing the connection after each HTTP/1.1 request.","published":"2026-07-14T08:44:38.233Z","modified":"2026-09-06T03:45:47.033773347Z","cvss":null,"epss":{"score":0.00302,"percentile":0.22832,"asOf":"2026-09-15"},"cisaKev":null,"exploitsKnown":0,"affectedPackages":[{"ecosystem":"Maven","name":"org.eclipse.jetty:jetty-server","fixedVersion":"12.0.36"},{"ecosystem":"Maven","name":"org.eclipse.jetty:jetty-server","fixedVersion":"12.1.10"}],"fix":{"url":"https://github.com/jetty/jetty.project/pull/15162","label":"jetty/jetty.project#15162"},"references":[{"type":"WEB","url":"https://gitlab.eclipse.org/security/cve-assignment/-/work_items/119"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/10xxx/CVE-2026-10051.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-10051"},{"type":"PACKAGE","url":"https://github.com/jetty/jetty.project"},{"type":"WEB","url":"https://github.com/jetty/jetty.project/security/advisories/GHSA-f4v5-65jj-pcr2"},{"type":"WEB","url":"https://github.com/jetty/jetty.project/pull/15162"},{"type":"WEB","url":"https://github.com/jetty/jetty.project/pull/15163"},{"type":"WEB","url":"https://github.com/jetty/jetty.project/commit/72206b3ea623cf7ed8729b47a83ee628ff10e8eb"},{"type":"WEB","url":"https://github.com/jetty/jetty.project/commit/dc27e8d3ab743fe27935ea2d8c41756eb6c5bae9"},{"type":"WEB","url":"https://github.com/jetty/jetty.project/releases/tag/jetty-12.0.36"},{"type":"WEB","url":"https://github.com/jetty/jetty.project/releases/tag/jetty-12.1.10"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-09-06T03:45:47.033773347Z"}}