Cloudanix VulnDB

CVE-2026-1225

None

CVSS

—

EPSS

0.2%

Published

Jan 22, 2026

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A logging component used by Java applications can be abused by someone who can already change its configuration, potentially letting them make the application run unexpected code-like behavior.

Chainable
Exploitation
Local Privilege
Attacker needs
High Privilege
Complexity
High
Impact
Remote Code Execution
Component
Library
Class
Command Injection
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

This vulnerability affects logback-core configuration file processing in Java applications using versions up to and including 1.5.24. If an attacker can modify an existing Logback configuration file, they may be able to cause Logback to instantiate arbitrary Java classes that are already present on the application classpath. This is a constrained arbitrary code execution/class-instantiation issue rather than a typical remote command injection: exploitation requires high privileges or prior compromise sufficient to write the configuration file, and the attacker is limited to classes already available in the application or its dependencies. The created object may be discarded shortly after instantiation, but constructors, static initializers, setters, or side effects in instantiated classes may still cause confidentiality, integrity, or availability impact.

Why it matters to the business

The main business risk is post-compromise impact amplification: an attacker who already has write access to application configuration may be able to trigger unexpected behavior, run class initialization logic, disrupt services, or abuse dangerous classes bundled with the application. Because exploitation requires local/high-privilege access and has low public exploitation likelihood, immediate internet-wide exploitation risk is low; however, organizations using affected Java applications should still patch during normal maintenance because logging libraries are widely embedded and configuration tampering can be used for persistence, disruption, or lateral movement in already-compromised environments. For the listed affected package, solr-operator-0.9 on MinimOS should be updated to 0.9.1-r3 or later.

How an attack unfolds

An attacker first gains sufficient access to modify an existing Logback configuration file used by a Java application. They then alter the configuration to reference a class that is already present on the target application's classpath and that has useful side effects when instantiated or configured. When the application starts, reloads logging configuration, or otherwise processes the modified Logback file, logback-core parses the attacker-controlled configuration and instantiates the referenced class. If the chosen class performs actions during construction, static initialization, property assignment, or lifecycle methods, the attacker may achieve limited code execution effects, configuration manipulation, information exposure, service disruption, or persistence. The attack is highly dependent on what classes are present in the application and whether the attacker can force the application to reload the modified configuration.

How to fix it

Upgrade affected packages to fixed versions. For solr-operator-0.9 on MinimOS, update to version 0.9.1-r3 or later. More broadly, ensure Java applications do not use logback-core versions up to and including 1.5.24 where untrusted users or compromised components can write Logback configuration files; upgrade Logback to a version containing the vendor fix when available for the distribution or application stack. Treat logging configuration as code: restrict write permissions, make container images and configuration mounts read-only where practical, enforce change control for logging configuration, and prevent runtime modification by application users. If immediate upgrade is not possible, mitigate by removing write access to Logback configuration files, disabling automatic configuration scanning/reload where feasible, validating configuration files before deployment, and monitoring for unauthorized changes.

How to confirm the fix worked

Confirm the installed package or application dependency has been updated to the fixed release, specifically solr-operator-0.9 on MinimOS version 0.9.1-r3 or later where applicable. For Java applications, inspect dependency manifests, SBOMs, build files, container images, and runtime classpaths for logback-core versions up to and including 1.5.24. Verify Logback configuration files are not writable by non-administrative users or application runtime identities unless explicitly required. Confirm file integrity monitoring is active for Logback configuration files and that any automatic configuration reload behavior is understood and controlled. After patching or mitigation, restart affected services as needed and verify application logs show normal Logback initialization without unexpected class references or configuration parsing warnings.

Typical attack path

  1. Gain prior access to the host, container, application deployment, CI/CD artifact, or mounted configuration location with permission to modify an existing Logback configuration file.
  2. Identify the Logback configuration file used by the Java application, such as logback.xml or logback-spring.xml.
  3. Enumerate or infer Java classes available on the application classpath, including application classes and third-party dependencies.
  4. Modify the Logback configuration to instantiate a class with attacker-useful side effects.
  5. Trigger configuration processing by restarting the application, waiting for automatic configuration reload, or causing the application to re-read logging configuration.
  6. Leverage side effects from class instantiation to alter application behavior, expose information, disrupt service, or maintain a foothold.

How to detect it

Look for evidence of unauthorized Logback configuration modification and suspicious application restarts or logging reconfiguration events. Relevant log sources include application logs, container stdout/stderr, Kubernetes audit logs, file integrity monitoring alerts, endpoint detection telemetry, CI/CD deployment logs, package manager logs, and host audit logs. Investigate changes to Logback configuration files such as logback.xml and logback-spring.xml, especially additions of unusual class names, custom appenders, encoders, filters, listeners, or JNDI-like/resource-loading constructs. Review timestamps of configuration changes against application restart times and Logback initialization messages. On Linux hosts, audit file write events by unexpected users or processes to application configuration directories. In Kubernetes or containerized deployments, review changes to ConfigMaps, Secrets, mounted volumes, image layers, and operator manifests that supply logging configuration. Because exploitation requires prior write access and no public exploit maturity is indicated, detection should focus on configuration tampering, unexpected dependency/class references in Logback XML, and suspicious side effects occurring immediately after configuration reload.

  • logback.xml
  • logback-spring.xml
  • logback-test.xml
  • ch.qos.logback.core.joran.spi.JoranException
  • Could not create component
  • Could not instantiate class
  • About to instantiate appender of type
  • Assuming default type
  • Registering current configuration as safe fallback point
  • Re-registering previous fallback configuration as safe fallback point
  • Will scan for changes in [
  • Setting ReconfigureOnChangeTask scanning period
  • Detected change in configuration files
  • Exception in Action for tag
  • <appender class=
  • <encoder class=
  • <filter class=
  • <turboFilter class=
  • <conversionRule conversionWord=
  • <newRule pattern=
  • <define name=

What your security team should do

  • Inventory Java applications, containers, and vendor packages that include logback-core, prioritizing internet-facing, business-critical, and high-privilege services.
  • Patch solr-operator-0.9 on MinimOS to 0.9.1-r3 or later and update any bundled Logback dependency to a fixed vendor-supported version.
  • Restrict write access to Logback configuration files and their parent directories to trusted deployment or administrative identities only.
  • Disable or tightly control Logback configuration auto-reload in production where operationally feasible.
  • Add file integrity monitoring for logback.xml, logback-spring.xml, and other Logback configuration files.
  • Review recent changes to logging configuration files, container mounts, ConfigMaps, deployment artifacts, and CI/CD outputs for unauthorized modification.
  • Search logs for unexpected Logback configuration parsing, reconfiguration events, errors instantiating classes, or references to unusual classes in logging configuration.
  • Treat any confirmed unauthorized modification of Logback configuration as evidence of prior compromise and perform host, container, credential, and CI/CD pipeline investigation.

The record

ACE vulnerability in configuration file processing by QOS.CH logback-core up to and including version 1.5.24 in Java applications, allows an attacker to instantiate classes already present on the class path by compromising an existing logback configuration file. The instantiation of a potentially malicious Java class requires that said class is present on the user's class-path. In addition, the attacker must have write access to a configuration file. However, after successful instantiation, the instance is very likely to be discarded with no further ado.

Affected packages

Ecosystem Package Introduced Fixed
Maven ch.qos.logback:logback-core 0 1.5.25
Chainguard akhq 0 0.26.0-r7
Chainguard apache-nifi 0 2.7.2-r5
Chainguard apache-nifi-registry 0 2.7.2-r3
Chainguard apache-nifi-registry-toolkit 0 2.7.2-r3
Chainguard cassandra-5.0 0 5.0.7-r1
Chainguard dependency-track 0 4.14.0-r0
Chainguard dependency-track-apiserver 0 4.14.0-r0
Chainguard dependency-track-bundled 0 4.14.0-r0
Chainguard kafbat-ui 0 1.4.2-r3
Chainguard kafbat-ui-fips 0 1.4.2-r2
Chainguard keycloak-config-cli 0 6.4.1-r7
Chainguard keycloak-config-cli-iamguarded-compat 0 6.4.1-r0
Chainguard kserve-modelmesh 0 0.12.0-r22
Chainguard management-api-for-apache-cassandra-4.0 0 0.1.113-r0
Chainguard management-api-for-apache-cassandra-4.1 0 0.1.113-r0
Chainguard management-api-for-apache-cassandra-5.0 0 0.1.113-r0
Chainguard nacos 0 3.1.1-r1
Chainguard nacos-docker 0 3.1.1-r1
Chainguard nextflow 0 25.10.4-r1
Chainguard sonar-scanner-cli 0 8.0.1.6346-r2
Chainguard sonarqube 0 26.1.0.118079-r2
Chainguard trino 0 479-r3
Chainguard trino-plugin-ai-functions 0 479-r3
Chainguard trino-plugin-bigquery 0 479-r3
Chainguard trino-plugin-blackhole 0 479-r3
Chainguard trino-plugin-cassandra 0 479-r3
Chainguard trino-plugin-clickhouse 0 479-r3
Chainguard trino-plugin-delta-lake 0 479-r3
Chainguard trino-plugin-druid 0 479-r3
Chainguard trino-plugin-duckdb 0 479-r3
Chainguard trino-plugin-elasticsearch 0 479-r3
Chainguard trino-plugin-exasol 0 479-r3
Chainguard trino-plugin-exchange-filesystem 0 479-r3
Chainguard trino-plugin-exchange-hdfs 0 479-r3
Chainguard trino-plugin-faker 0 479-r3
Chainguard trino-plugin-functions-python 0 479-r3
Chainguard trino-plugin-google-sheets 0 479-r3
Chainguard trino-plugin-hive 0 479-r3
Chainguard trino-plugin-http-event-listener 0 479-r3
Chainguard trino-plugin-hudi 0 479-r3
Chainguard trino-plugin-iceberg 0 479-r3
Chainguard trino-plugin-ignite 0 479-r3
Chainguard trino-plugin-jmx 0 479-r3
Chainguard trino-plugin-kafka 0 479-r3
Chainguard trino-plugin-kafka-event-listener 0 479-r3
Chainguard trino-plugin-lakehouse 0 479-r3
Chainguard trino-plugin-ldap-group-provider 0 479-r3
Chainguard trino-plugin-loki 0 479-r3
Chainguard trino-plugin-mariadb 0 479-r3
Chainguard trino-plugin-memory 0 479-r3
Chainguard trino-plugin-mongodb 0 479-r3
Chainguard trino-plugin-mysql 0 479-r3
Chainguard trino-plugin-opa 0 479-r3
Chainguard trino-plugin-openlineage 0 479-r3
Chainguard trino-plugin-opensearch 0 479-r3
Chainguard trino-plugin-oracle 0 479-r3
Chainguard trino-plugin-password-authenticators 0 479-r3
Chainguard trino-plugin-pinot 0 479-r3
Chainguard trino-plugin-postgresql 0 479-r3
Chainguard trino-plugin-prometheus 0 479-r3
Chainguard trino-plugin-redis 0 479-r3
Chainguard trino-plugin-redshift 0 479-r3
Chainguard trino-plugin-resource-group-managers 0 479-r3
Chainguard trino-plugin-session-property-managers 0 479-r3
Chainguard trino-plugin-singlestore 0 479-r3
Chainguard trino-plugin-snowflake 0 479-r3
Chainguard trino-plugin-spooling-filesystem 0 479-r3
Chainguard trino-plugin-sqlserver 0 479-r3
Chainguard trino-plugin-thrift 0 479-r3
Chainguard trino-plugin-tpcds 0 479-r3
Chainguard trino-plugin-tpch 0 479-r3
Chainguard trino-plugin-vertica 0 479-r3
Chainguard zookeeper-3.8 0 3.8.5-r2
Chainguard zookeeper-3.9 0 3.9.4-r2
Chainguard zookeeper-custom 0 3.9.4-r5
Chainguard zookeeper-fips-3.8 0 3.8.5-r1
Chainguard zookeeper-fips-3.9 0 3.9.4-r2
Wolfi akhq 0 0.26.0-r7
Wolfi apache-nifi 0 2.7.2-r5
Wolfi apache-nifi-registry 0 2.7.2-r3
Wolfi apache-nifi-registry-toolkit 0 2.7.2-r3
Wolfi cassandra-5.0 0 5.0.7-r1
Wolfi dependency-track 0 4.14.0-r0
Wolfi dependency-track-bundled 0 4.14.0-r0
Wolfi keycloak-config-cli 0 6.4.1-r7
Wolfi keycloak-config-cli-iamguarded-compat 0 6.4.1-r0
Wolfi kserve-modelmesh 0 0.12.0-r22
Wolfi management-api-for-apache-cassandra-4.1 0 0.1.113-r0
Wolfi management-api-for-apache-cassandra-5.0 0 0.1.113-r0
Wolfi nextflow 0 25.10.4-r1
Wolfi sonar-scanner-cli 0 8.0.1.6346-r2
Wolfi sonarqube 0 26.1.0.118079-r2
Wolfi trino 0 479-r3
Wolfi trino-plugin-ai-functions 0 479-r3
Wolfi trino-plugin-bigquery 0 479-r3
Wolfi trino-plugin-blackhole 0 479-r3
Wolfi trino-plugin-cassandra 0 479-r3
Wolfi trino-plugin-clickhouse 0 479-r3
Wolfi trino-plugin-delta-lake 0 479-r3
Wolfi trino-plugin-druid 0 479-r3
Wolfi trino-plugin-duckdb 0 479-r3
Wolfi trino-plugin-elasticsearch 0 479-r3
Wolfi trino-plugin-exasol 0 479-r3
Wolfi trino-plugin-exchange-filesystem 0 479-r3
Wolfi trino-plugin-exchange-hdfs 0 479-r3
Wolfi trino-plugin-faker 0 479-r3
Wolfi trino-plugin-functions-python 0 479-r3
Wolfi trino-plugin-google-sheets 0 479-r3
Wolfi trino-plugin-hive 0 479-r3
Wolfi trino-plugin-http-event-listener 0 479-r3
Wolfi trino-plugin-hudi 0 479-r3
Wolfi trino-plugin-iceberg 0 479-r3
Wolfi trino-plugin-ignite 0 479-r3
Wolfi trino-plugin-jmx 0 479-r3
Wolfi trino-plugin-kafka 0 479-r3
Wolfi trino-plugin-kafka-event-listener 0 479-r3
Wolfi trino-plugin-lakehouse 0 479-r3
Wolfi trino-plugin-ldap-group-provider 0 479-r3
Wolfi trino-plugin-loki 0 479-r3
Wolfi trino-plugin-mariadb 0 479-r3
Wolfi trino-plugin-memory 0 479-r3
Wolfi trino-plugin-mongodb 0 479-r3
Wolfi trino-plugin-mysql 0 479-r3
Wolfi trino-plugin-opa 0 479-r3
Wolfi trino-plugin-openlineage 0 479-r3
Wolfi trino-plugin-opensearch 0 479-r3
Wolfi trino-plugin-oracle 0 479-r3
Wolfi trino-plugin-password-authenticators 0 479-r3
Wolfi trino-plugin-pinot 0 479-r3
Wolfi trino-plugin-postgresql 0 479-r3
Wolfi trino-plugin-prometheus 0 479-r3
Wolfi trino-plugin-redis 0 479-r3
Wolfi trino-plugin-redshift 0 479-r3
Wolfi trino-plugin-resource-group-managers 0 479-r3
Wolfi trino-plugin-session-property-managers 0 479-r3
Wolfi trino-plugin-singlestore 0 479-r3
Wolfi trino-plugin-snowflake 0 479-r3
Wolfi trino-plugin-spooling-filesystem 0 479-r3
Wolfi trino-plugin-sqlserver 0 479-r3
Wolfi trino-plugin-thrift 0 479-r3
Wolfi trino-plugin-tpcds 0 479-r3
Wolfi trino-plugin-tpch 0 479-r3
Wolfi trino-plugin-vertica 0 479-r3
Wolfi zookeeper-3.8 0 3.8.5-r2
Wolfi zookeeper-3.9 0 3.9.4-r2
openSUSE:Leap 15.6 logback 0 1.2.13-150200.3.16.1
openSUSE:Tumbleweed logback 0 1.2.13-2.1

Related vulnerabilities