CVE-2026-9828

Authorization Bypass
Affects
ch.qos.logback:logback-core
in
Logback
No items found.
Versions
<=1.5.32

Patch Available.

Exclamation circle icon
Patch Available

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

Overview

Logback is an open-source Java logging framework designed as a successor to Log4j. Its core module provides logging infrastructure, logback-classic implements the SLF4J API, and logback-access supplies HTTP access logging for servlet containers.

An authorization bypass vulnerability (CVE-2026-9828) has been identified in the HardenedObjectInputStream class of logback-core, which allows attackers who can influence serialized data sent to SimpleSocketServer or SimpleSSLSocketServer to have objects from classes in the java.lang and java.util packages deserialized even though those classes are not on the intended whitelist. No practical path to remote code execution or significant privilege escalation has been identified, but the issue bypasses the intended deserialization restrictions.

Per OWASP: Insecure Deserialization is a type of vulnerability that arises when untrusted data is used to abuse the logic of an application's deserialization process, allowing an attacker to execute code, manipulate objects, or perform injection attacks.

This issue affects Logback versions up to and including 1.5.32.

Details

Module Info

Vulnerability Info

This Low-severity vulnerability is found in the ch.qos.logback:logback-core package in Logback versions up to and including 1.5.32.

HardenedObjectInputStream is the ObjectInputStream subclass that Logback's socket receivers, such as SimpleSocketServer and SimpleSSLSocketServer, use to read serialized logging events from the network. It overrides resolveClass and rejects any incoming class that isWhitelisted does not accept, so that only a known set of classes can be deserialized:

final static String[] JAVA_PACKAGES = new String[] { "java.lang", "java.util" };

@Override
protected Class<?> resolveClass(ObjectStreamClass anObjectStreamClass) throws IOException, ClassNotFoundException {
    String incomingClassName = anObjectStreamClass.getName();
    if (!isWhitelisted(incomingClassName)) {
        throw new InvalidClassException("Unauthorized deserialization attempt", anObjectStreamClass.getName());
    }
    return super.resolveClass(anObjectStreamClass);
}

private boolean isWhitelisted(String incomingClassName) {
    for (int i = 0; i < JAVA_PACKAGES.length; i++) {
        if (incomingClassName.startsWith(JAVA_PACKAGES[i]))
            return true;
    }
    for (String whiteListed : whitelistedClassNames) {
        if (incomingClassName.equals(whiteListed))
            return true;
    }
    return false;
}

The first loop authorizes a class by name prefix alone. Any class name that begins with java.lang or java.util passes the check before the explicit whitelist is consulted, so every serializable class in those two packages (and any name that merely starts with those characters) is accepted. A peer that can send or tamper with the serialized stream read by the socket server can therefore embed objects of java.lang and java.util classes that are not on any explicit whitelist, such as java.util.Hashtable or java.util.LinkedList, and readObject will instantiate them. The class-name whitelist that HardenedObjectInputStream is meant to enforce is bypassed for both packages. Exploitation requires that SimpleSocketServer or SimpleSSLSocketServer is running and reachable by the attacker.

Mitigation

Logback 1.2.x is End-of-Life and will not receive any updates to address this issue. For more information, see here.

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

  • Upgrade affected applications to a currently supported version of Logback.
  • Leverage a commercial support partner like HeroDevs for post-EOL security support.

Credits

Vulnerability Details
Severity
Level
CVSS Assessment
Low
>=0 <4
Medium
>=4 <6
High
>=6 <8
Critical
>=8 <10
Low
ID
CVE-2026-9828
PROJECT Affected
ch.qos.logback:logback-core
Versions Affected
<=1.5.32
NES Versions Affected
Published date
October 13, 2026
≈ Fix date
October 13, 2026
Category
Authorization Bypass
Vex Document
Download VEXHow do I use it?
Sign up for the latest vulnerability alerts fixed in
NES for Logback
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.