CVE-2026-19864

Information Exposure
Affects
Eclipse Jetty
in
Jetty
No items found.
Versions
>=9.4.0 <=9.4.64, >=10.0.0 <=10.0.32, >=11.0.0 <=11.0.32, >=12.0.0 <=12.0.38, >=12.1.0 <=12.1.12

Patch Available.

Exclamation circle icon
Patch Available

This Vulnerability has been fixed in the Never-Ending Support (NES) version offered by HeroDevs.

Overview

Eclipse Jetty is a widely used, embeddable Java web server and servlet container. It supports HTTP/1.1, HTTP/2, HTTP/3, and WebSocket, and is commonly deployed both as a standalone server and embedded within Java application runtimes and frameworks. Its jetty-security module provides the authentication and authorization framework, including the authenticators that remember a logged-in user in the HTTP session.

An information exposure vulnerability (CVE-2026-19864) has been identified in the SessionAuthentication class of Eclipse Jetty's jetty-security module, which allows attackers with read access to persisted session data to obtain the plaintext passwords of authenticated users. When a session persistence backend is configured, the cleartext password a user submitted at login is written to the session store each time the session is saved.

Per OWASP: Access control enforces policy such that users cannot act outside of their intended permissions. Failures typically lead to unauthorized information disclosure, modification, or destruction of all data or performing a business function outside the user's limits.

This issue affects multiple versions of Eclipse Jetty.

Details

Module Info

Vulnerability Info

This Medium-severity vulnerability is found in the org.eclipse.jetty:jetty-security package in multiple versions of Eclipse Jetty. After a successful login, authenticators such as FormAuthenticator cache the authenticated user in the HTTP session by storing a SessionAuthentication object, passing it the credentials the user supplied. For form login those credentials are the raw j_password form field value:

HttpSession session = ((HttpServletRequest)request).getSession(true);
Authentication cached = new SessionAuthentication(getAuthMethod(), user, password);
session.setAttribute(SessionAuthentication.__J_AUTHENTICATED, cached);

SessionAuthentication implements Serializable and keeps those credentials in a field that is not marked transient, and it does not define a custom writeObject:

public class SessionAuthentication extends AbstractUserAuthentication
    implements Serializable, HttpSessionActivationListener, HttpSessionBindingListener
{
    private final String _name;
    private final Object _credentials;
    private transient HttpSession _session;

Default Java serialization writes every non-transient field, so whenever a session is passivated or saved through a session data store (for example a file, JDBC, or distributed cache backend), the user's cleartext password is written into the persisted session data alongside the user name. The matching readObject relies on this: on deserialization it passes _name and _credentials to loginService.login to log the user in again from the stored password. Anyone who can read the session store, such as through a database compromise, access to backups or replicas, or a file read flaw, can recover the plaintext passwords of every user with a persisted authenticated session.

Mitigation

Only recent versions of Eclipse Jetty are community-supported. Only community-supported versions will receive updates to address this issue. As of January 1, 2026 the Jetty project and Webtide no longer publish Jetty 9, Jetty 10, or Jetty 11 releases to Maven Central; see the project's End-of-Life announcement.

Users of the affected components should apply one of the following mitigations:

  • Upgrade affected applications to a supported version of Eclipse Jetty (12.0.39, 12.1.13).
  • Leverage a commercial support partner like HeroDevs for post-EOL security support.
Vulnerability Details
Severity
Level
CVSS Assessment
Low
>=0 <4
Medium
>=4 <6
High
>=6 <8
Critical
>=8 <10
Medium
ID
CVE-2026-19864
PROJECT Affected
Eclipse Jetty
Versions Affected
>=9.4.0 <=9.4.64, >=10.0.0 <=10.0.32, >=11.0.0 <=11.0.32, >=12.0.0 <=12.0.38, >=12.1.0 <=12.1.12
NES Versions Affected
Published date
October 16, 2026
≈ Fix date
October 15, 2026
Category
Information Exposure
Vex Document
Download VEXHow do I use it?
Sign up for the latest vulnerability alerts fixed in
NES for Jetty
Rss feed icon
Subscribe via RSS
or

By submitting the form I acknowledge receipt of our Privacy Policy.

Thanks for signing up for our Newsletter! We look forward to connecting with you.
Oops! Something went wrong while submitting the form.