Cloudanix VulnDB

CVE-2023-6378

High · 7.5

CVSS

7.5

EPSS

0.9%

Published

Nov 29, 2023

CISA due date

—

Cloudanix analysis

Next patch cycle SSVC: Track

A logging feature in affected Java applications can be remotely abused to crash or overwhelm the service if it is left reachable.

Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Low
Impact
Denial Of Service
Component
Library
Class
Deserialization
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

This vulnerability affects the Logback receiver component in Logback 1.4.11. A network-accessible receiver that accepts serialized logging events can be sent specially crafted serialized data that triggers unsafe or expensive deserialization behavior, causing the receiving Java process to hang, crash, exhaust memory/CPU, or otherwise become unavailable. The impact is availability-only under the published assessment: no confidentiality or integrity impact is indicated, and exploitation requires no authentication, user interaction, or high attack complexity if the receiver is reachable.

Why it matters to the business

Applications or logging infrastructure using the vulnerable Logback receiver can be disrupted remotely, potentially causing application outages, degraded observability, missed operational alerts, or cascading instability if critical services depend on the affected Java process. Although it is not listed in CISA KEV, has no known ransomware association, and has a low EPSS score, the flaw is remotely reachable when the receiver is exposed and has a high availability impact, so internet-facing or broadly accessible receiver deployments should be prioritized.

How an attack unfolds

An attacker first identifies a Java service or logging endpoint running Logback 1.4.11 with the receiver component enabled and reachable over the network. The attacker then opens a connection to the receiver port and sends malformed or intentionally hostile serialized data instead of a valid Logback logging event. The receiver attempts to deserialize or process the data, triggering the vulnerable behavior. Depending on process limits and deployment design, this can lead to excessive resource consumption, unhandled exceptions, thread exhaustion, JVM instability, or repeated service restarts. The attacker can repeat the connection attempts to keep the service unavailable or to amplify operational impact.

How to fix it

Upgrade Logback to a fixed release that includes the upstream fix for the receiver serialization issue. For source-based builds, ensure the code includes qos-ch/logback commit 0df4ec15d45301b5d0a6e2de6466a17944c3a871 or a later trusted release containing that change; where possible, move off Logback 1.4.11 to the latest supported 1.4.x or newer version. If immediate upgrade is not possible, disable the Logback receiver component, remove remote logging receiver configuration, bind receiver listeners only to localhost or a private management network, restrict access with firewall/security-group rules, and enforce strict network allowlists for any systems that must send logs. Do not expose Logback receiver ports directly to the internet.

How to confirm the fix worked

Confirm that no deployed artifact contains Logback 1.4.11 receiver code by inspecting dependency manifests, SBOMs, container images, application build files, and runtime classpaths for logback-classic/logback-core versions. Verify that the deployed Logback build includes commit 0df4ec15d45301b5d0a6e2de6466a17944c3a871 or a later fixed release. Review Logback configuration for receiver classes and confirm they are disabled or access-controlled where not required. From a network perspective, verify that receiver ports are not exposed externally and are reachable only from approved log producers. After patching or disabling the receiver, run service health checks and controlled negative testing with malformed serialized input in a non-production environment to confirm the process remains stable.

Typical attack path

  1. Discover a network-accessible Logback receiver endpoint, commonly through service enumeration, application configuration leakage, or scanning for open listener ports used for remote logging.
  2. Confirm that the target appears to accept serialized Java/logging traffic or behaves like a Logback receiver.
  3. Send crafted serialized payloads or malformed Java serialization streams to the receiver.
  4. Cause the receiver process to spend excessive resources, throw repeated deserialization exceptions, crash, or stop accepting legitimate logging events.
  5. Repeat the traffic to sustain denial of service or to disrupt dependent applications and monitoring workflows.

How to detect it

To determine whether this was already exploited, review application logs, JVM logs, container orchestration events, process supervision logs, EDR telemetry, and network telemetry for affected Java services. Focus on periods with unexplained application restarts, high CPU or memory use, out-of-memory errors, thread exhaustion, or dropped logging/monitoring events. Look for repeated inbound connections to Logback receiver ports from unexpected sources, especially traffic beginning with Java serialization magic bytes or followed by deserialization exceptions. In application logs, search for Java serialization and Logback receiver errors such as StreamCorruptedException, InvalidClassException, OptionalDataException, EOFException, ClassCastException, ObjectInputStream failures, and receiver/server socket exceptions. In infrastructure logs, correlate suspicious inbound connection bursts with JVM crashes, Kubernetes CrashLoopBackOff events, systemd restarts, container OOMKilled events, or load balancer health-check failures. Absence of these artifacts does not prove non-exploitation, because a successful denial-of-service attempt may leave limited application-level evidence if the process terminates abruptly.

  • logback-classic-1.4.11.jar
  • logback-core-1.4.11.jar
  • ch.qos.logback.classic.net.server.ServerSocketReceiver
  • ch.qos.logback.classic.net.SocketReceiver
  • ch.qos.logback.classic.net.server.RemoteAppenderStreamClient
  • java.io.StreamCorruptedException
  • java.io.InvalidClassException
  • java.io.OptionalDataException
  • java.io.EOFException
  • java.io.ObjectInputStream
  • OutOfMemoryError
  • java.lang.OutOfMemoryError
  • CrashLoopBackOff
  • OOMKilled
  • aced0005
  • AC ED 00 05

What your security team should do

  • Inventory Java applications, containers, and logging services for Logback 1.4.11, especially deployments using receiver or remote logging functionality.
  • Prioritize remediation for internet-facing, DMZ, shared platform, or business-critical services where receiver ports are reachable by untrusted networks.
  • Upgrade to a fixed Logback build containing commit 0df4ec15d45301b5d0a6e2de6466a17944c3a871 or a later supported release; rebuild and redeploy all dependent applications rather than only updating source repositories.
  • Disable Logback receiver components where they are not explicitly required, and replace unauthenticated serialized-log receivers with safer logging transport patterns where feasible.
  • Add network controls so receiver ports are reachable only from approved log producers; block public access and broad east-west access.
  • Search historical logs for deserialization errors, JVM crashes, out-of-memory events, abnormal restart loops, and bursts of connections to receiver ports around service degradation windows.
  • Add monitoring for repeated Java serialization traffic, malformed stream errors, and sudden CPU/memory/thread spikes in processes using Logback receivers.

The record

A serialization vulnerability in logback receiver component part of logback version 1.4.11 allows an attacker to mount a Denial-Of-Service attack by sending poisoned data.

Affected packages

Ecosystem Package Introduced Fixed
Maven ch.qos.logback:logback-classic 0 1.2.13
Maven ch.qos.logback:logback-classic 1.3.0 1.3.12
Maven ch.qos.logback:logback-classic 1.4.0 1.4.12
Maven ch.qos.logback:logback-core 0 1.2.13
Maven ch.qos.logback:logback-core 1.3.0 1.3.12
Maven ch.qos.logback:logback-core 1.4.0 1.4.12
Chainguard cassandra-4.0 0 0
Chainguard cassandra-4.0-compat 0 0
Chainguard cassandra-4.0-iamguarded-compat 0 0
Chainguard cassandra-4.1 0 0
Chainguard cassandra-4.1-compat 0 0
Chainguard cassandra-4.1-iamguarded-compat 0 0
Chainguard cassandra-5.0 0 0
Chainguard cassandra-5.0 0 5.0.6-r3
Chainguard cassandra-5.0-compat 0 0
Chainguard cassandra-5.0-entrypoint-compat 0 0
Chainguard cassandra-5.0-iamguarded-compat 0 0
Chainguard cassandra-fips-4.0 0 0
Chainguard cassandra-fips-4.0-compat 0 0
Chainguard cassandra-fips-4.1 0 0
Chainguard cassandra-fips-4.1-compat 0 0
Chainguard cassandra-fips-5.0 0 0
Chainguard cassandra-fips-5.0-compat 0 0
Chainguard cqlsh-5.0 0 0
Chainguard cqlsh-fips-5.0 0 0
Chainguard stargate 0 1.0.78-r2
Chainguard tez 0 0.10.4-r6
Chainguard trino 0 434-r0
Chainguard trino-config 0 434-r0
Chainguard trino-oci-entrypoint 0 434-r0
Chainguard trino-plugin-accumulo 0 434-r0
Chainguard trino-plugin-ai-functions 0 434-r0
Chainguard trino-plugin-atop 0 434-r0
Chainguard trino-plugin-bigquery 0 434-r0
Chainguard trino-plugin-blackhole 0 434-r0
Chainguard trino-plugin-cassandra 0 434-r0
Chainguard trino-plugin-clickhouse 0 434-r0
Chainguard trino-plugin-delta-lake 0 434-r0
Chainguard trino-plugin-druid 0 434-r0
Chainguard trino-plugin-duckdb 0 434-r0
Chainguard trino-plugin-elasticsearch 0 434-r0
Chainguard trino-plugin-example-http 0 434-r0
Chainguard trino-plugin-exasol 0 434-r0
Chainguard trino-plugin-exchange-filesystem 0 434-r0
Chainguard trino-plugin-exchange-hdfs 0 434-r0
Chainguard trino-plugin-faker 0 434-r0
Chainguard trino-plugin-functions-python 0 434-r0
Chainguard trino-plugin-geospatial 0 434-r0
Chainguard trino-plugin-google-sheets 0 434-r0
Chainguard trino-plugin-hive 0 434-r0
Chainguard trino-plugin-http-event-listener 0 434-r0
Chainguard trino-plugin-http-server-event-listener 0 434-r0
Chainguard trino-plugin-hudi 0 434-r0
Chainguard trino-plugin-iceberg 0 434-r0
Chainguard trino-plugin-ignite 0 434-r0
Chainguard trino-plugin-jmx 0 434-r0
Chainguard trino-plugin-kafka 0 434-r0
Chainguard trino-plugin-kafka-event-listener 0 434-r0
Chainguard trino-plugin-kinesis 0 434-r0
Chainguard trino-plugin-kudu 0 434-r0
Chainguard trino-plugin-lakehouse 0 434-r0
Chainguard trino-plugin-ldap-group-provider 0 434-r0
Chainguard trino-plugin-local-file 0 434-r0
Chainguard trino-plugin-loki 0 434-r0
Chainguard trino-plugin-mariadb 0 434-r0
Chainguard trino-plugin-memory 0 434-r0
Chainguard trino-plugin-ml 0 434-r0
Chainguard trino-plugin-mongodb 0 434-r0
Chainguard trino-plugin-mysql 0 434-r0
Chainguard trino-plugin-mysql-event-listener 0 434-r0
Chainguard trino-plugin-opa 0 434-r0
Chainguard trino-plugin-openlineage 0 434-r0
Chainguard trino-plugin-opensearch 0 434-r0
Chainguard trino-plugin-oracle 0 434-r0
Chainguard trino-plugin-password-authenticators 0 434-r0
Chainguard trino-plugin-phoenix5 0 434-r0
Chainguard trino-plugin-pinot 0 434-r0
Chainguard trino-plugin-postgresql 0 434-r0
Chainguard trino-plugin-prometheus 0 434-r0
Chainguard trino-plugin-ranger 0 434-r0
Chainguard trino-plugin-raptor-legacy 0 434-r0
Chainguard trino-plugin-redis 0 434-r0
Chainguard trino-plugin-redshift 0 434-r0
Chainguard trino-plugin-resource-group-managers 0 434-r0
Chainguard trino-plugin-session-property-managers 0 434-r0
Chainguard trino-plugin-singlestore 0 434-r0
Chainguard trino-plugin-snowflake 0 434-r0
Chainguard trino-plugin-spooling-filesystem 0 434-r0
Chainguard trino-plugin-sqlserver 0 434-r0
Chainguard trino-plugin-teradata-functions 0 434-r0
Chainguard trino-plugin-thrift 0 434-r0
Chainguard trino-plugin-tpcds 0 434-r0
Chainguard trino-plugin-tpch 0 434-r0
Chainguard trino-plugin-vertica 0 434-r0
Chainguard zookeeper-3.8 0 3.8.3.0-r7
Chainguard zookeeper-3.8-iamguarded-compat 0 3.8.3.0-r7
Chainguard zookeeper-3.9 0 3.9.1.0-r7
Chainguard zookeeper-3.9-iamguarded-compat 0 3.9.1.0-r7
Chainguard zookeeper-bitnami-3.8-compat 0 3.8.3.0-r7
Chainguard zookeeper-bitnami-3.9-compat 0 3.9.1.0-r7
Debian:11 logback 0 No fix
Debian:12 logback 0 No fix
Debian:13 logback 0 1:1.2.11-5
Debian:14 logback 0 1:1.2.11-5
Ubuntu:20.04:LTS logback 0 No fix
Ubuntu:22.04:LTS logback 0 No fix
Ubuntu:24.04:LTS logback 0 No fix
Ubuntu:24.10 logback 0 No fix
Ubuntu:Pro:16.04:LTS logback 0 No fix
Ubuntu:Pro:16.04:LTS logback 0 1:1.1.3-2ubuntu0.1~esm1
Ubuntu:Pro:18.04:LTS logback 0 No fix
Ubuntu:Pro:18.04:LTS logback 0 1:1.2.3-2ubuntu1~18.04.1+esm1
Ubuntu:Pro:20.04:LTS logback 0 1:1.2.3-5ubuntu0.1~esm1
Ubuntu:Pro:22.04:LTS logback 0 1:1.2.10-1ubuntu0.1~esm1
Wolfi cassandra-4.1 0 0
Wolfi cassandra-4.1-compat 0 0
Wolfi cassandra-5.0 0 0
Wolfi cassandra-5.0 0 5.0.6-r3
Wolfi cassandra-5.0-compat 0 0
Wolfi cassandra-5.0-entrypoint-compat 0 0
Wolfi cassandra-5.0-iamguarded-compat 0 0
Wolfi cqlsh-5.0 0 0
Wolfi tez 0 0.10.4-r6
Wolfi trino 0 434-r0
Wolfi trino-config 0 434-r0
Wolfi trino-oci-entrypoint 0 434-r0
Wolfi trino-plugin-accumulo 0 434-r0
Wolfi trino-plugin-ai-functions 0 434-r0
Wolfi trino-plugin-atop 0 434-r0
Wolfi trino-plugin-bigquery 0 434-r0
Wolfi trino-plugin-blackhole 0 434-r0
Wolfi trino-plugin-cassandra 0 434-r0
Wolfi trino-plugin-clickhouse 0 434-r0
Wolfi trino-plugin-delta-lake 0 434-r0
Wolfi trino-plugin-druid 0 434-r0
Wolfi trino-plugin-duckdb 0 434-r0
Wolfi trino-plugin-elasticsearch 0 434-r0
Wolfi trino-plugin-example-http 0 434-r0
Wolfi trino-plugin-exasol 0 434-r0
Wolfi trino-plugin-exchange-filesystem 0 434-r0
Wolfi trino-plugin-exchange-hdfs 0 434-r0
Wolfi trino-plugin-faker 0 434-r0
Wolfi trino-plugin-functions-python 0 434-r0
Wolfi trino-plugin-geospatial 0 434-r0
Wolfi trino-plugin-google-sheets 0 434-r0
Wolfi trino-plugin-hive 0 434-r0
Wolfi trino-plugin-http-event-listener 0 434-r0
Wolfi trino-plugin-http-server-event-listener 0 434-r0
Wolfi trino-plugin-hudi 0 434-r0
Wolfi trino-plugin-iceberg 0 434-r0
Wolfi trino-plugin-ignite 0 434-r0
Wolfi trino-plugin-jmx 0 434-r0
Wolfi trino-plugin-kafka 0 434-r0
Wolfi trino-plugin-kafka-event-listener 0 434-r0
Wolfi trino-plugin-kinesis 0 434-r0
Wolfi trino-plugin-kudu 0 434-r0
Wolfi trino-plugin-lakehouse 0 434-r0
Wolfi trino-plugin-ldap-group-provider 0 434-r0
Wolfi trino-plugin-local-file 0 434-r0
Wolfi trino-plugin-loki 0 434-r0
Wolfi trino-plugin-mariadb 0 434-r0
Wolfi trino-plugin-memory 0 434-r0
Wolfi trino-plugin-ml 0 434-r0
Wolfi trino-plugin-mongodb 0 434-r0
Wolfi trino-plugin-mysql 0 434-r0
Wolfi trino-plugin-mysql-event-listener 0 434-r0
Wolfi trino-plugin-opa 0 434-r0
Wolfi trino-plugin-openlineage 0 434-r0
Wolfi trino-plugin-opensearch 0 434-r0
Wolfi trino-plugin-oracle 0 434-r0
Wolfi trino-plugin-password-authenticators 0 434-r0
Wolfi trino-plugin-phoenix5 0 434-r0
Wolfi trino-plugin-pinot 0 434-r0
Wolfi trino-plugin-postgresql 0 434-r0
Wolfi trino-plugin-prometheus 0 434-r0
Wolfi trino-plugin-ranger 0 434-r0
Wolfi trino-plugin-raptor-legacy 0 434-r0
Wolfi trino-plugin-redis 0 434-r0
Wolfi trino-plugin-redshift 0 434-r0
Wolfi trino-plugin-resource-group-managers 0 434-r0
Wolfi trino-plugin-session-property-managers 0 434-r0
Wolfi trino-plugin-singlestore 0 434-r0
Wolfi trino-plugin-snowflake 0 434-r0
Wolfi trino-plugin-spooling-filesystem 0 434-r0
Wolfi trino-plugin-sqlserver 0 434-r0
Wolfi trino-plugin-teradata-functions 0 434-r0
Wolfi trino-plugin-thrift 0 434-r0
Wolfi trino-plugin-tpcds 0 434-r0
Wolfi trino-plugin-tpch 0 434-r0
Wolfi trino-plugin-vertica 0 434-r0
Wolfi zookeeper-3.8 0 3.8.3.0-r7
Wolfi zookeeper-3.9 0 3.9.1.0-r7
Wolfi zookeeper-3.9-iamguarded-compat 0 3.9.1.0-r7
Wolfi zookeeper-bitnami-3.8-compat 0 3.8.3.0-r7
Wolfi zookeeper-bitnami-3.9-compat 0 3.9.1.0-r7
maven ch.qos.logback/logback-classic 1.3.0 1.3.12
maven ch.qos.logback/logback-classic 1.4.0 1.4.12
maven ch.qos.logback/logback-core 1.3.0 1.3.12
maven ch.qos.logback/logback-core 1.4.0 1.4.12
openSUSE:Tumbleweed logback 0 1.2.13-1.1

Related vulnerabilities