CVE-2026-34479 — log4j-1.2-api
Fix: apache/logging-log4j2#4078CVE-2026-34479 is a CWE-116 vulnerability in org.apache.logging.log4j:log4j-1.2-api. A fix is available for org.apache.logging.log4j:log4j-1.2-api — see the affected versions and patch details below.
Apache Log4j 1 to Log4j 2 bridge: Silent log event loss in Log4j1XmlLayout due to unescaped XML 1.0 forbidden characters
Exploitation Status
No confirmed exploitation observed yet
- CISA assesses this as automatable — exploitation doesn’t require manual, per-target effort, which raises the odds of mass scanning and opportunistic attacks.
- CISA’s own triage has not observed active exploitation or public proof-of-concept code for this CVE as of its last assessment.
Exploitation and automatability from CISA’s SSVC triage for CVE-2026-34479.
EPSS Exploitation Probability
EPSS (Exploit Prediction Scoring System) is a daily probability model maintained by FIRST.org. It estimates the likelihood a CVE will be exploited in production environments within the next 30 days, derived from real-world threat intelligence signals.
Real-World Exposure
org.apache.logging.log4j:log4j-1.2-api☕org.apache.logging.log4j:log4j-1.2-apiReal-time download stats are indexed for npm and PyPI packages. This vulnerability affects Maven packages — download data is not available via public APIs for these ecosystems.
Description
The Log4j1XmlLayout from the Apache Log4j 1-to-Log4j 2 bridge fails to escape characters forbidden by the XML 1.0 standard, producing malformed XML output. Conforming XML parsers are required to reject documents containing such characters with a fatal error, which may cause downstream log processing systems to drop or fail to index affected records.
Two groups of users are affected:
- Those using
Log4j1XmlLayoutdirectly in a Log4j Core 2 configuration file. - Those using the Log4j 1 configuration compatibility layer with
org.apache.log4j.xml.XMLLayoutspecified as the layout class.
Users are advised to upgrade to Apache Log4j 1-to-Log4j 2 bridge version 2.25.4, which corrects this issue.
[!NOTE] The Apache Log4j 1-to-Log4j 2 bridge is deprecated and will not be present in Log4j 3. Users are encouraged to consult the Log4j 1 to Log4j 2 migration guide, and specifically the section on eliminating reliance on the bridge.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| ☕Maven | org.apache.logging.log4j:log4j-1.2-api | ≥ 2.7&&< 2.25.4 | 2.25.4org.apache.logging.log4j:log4j-1.2-api:2.25.4 |
| ☕Maven | org.apache.logging.log4j:log4j-1.2-api | ≥ 3.0.0-beta1 | No fix |
Detection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for org.apache.logging.log4j:log4j-1.2-api, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update org.apache.logging.log4j:log4j-1.2-api to 2.25.4 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2026-34479 is resolved across your whole dependency graph.
Workarounds
If you can't upgrade right away: gate or disable the affected feature, validate untrusted input at the boundary, and avoid passing attacker-controlled data into the vulnerable path. O3's runtime protection blocks exploitation in production as an interim safeguard until the upgrade lands.
How O3 protects you
O3 Security's impact-aware SCA analyses which vulnerable code paths your application actually calls, so a match like CVE-2026-34479 can be triaged on real exposure rather than presence alone.
Tailored to CVE-2026-34479. Runtime protection reduces exposure until a permanent patch is applied and verified — it complements patching, it doesn't replace it.
Fixing This On Your OS
If you run this on a Linux distribution, patch through your package manager against the distro's own security advisory below — it tracks the exact backported fix for your release, which can ship on a different timeline (and sometimes a different severity) than the upstream project.
| Product | Fixed in | Advisory |
|---|---|---|
| Red Hat Offline Knowledge Portal 1.2.13 | offline-knowledge-portal/rhokp-rhel9:1779996999 | RHSA-2026:21773 |
Frequently Asked Questions
Is CVE-2026-34479 in your dependencies?
O3 Security finds CVE-2026-34479 across Maven dependencies, including transitive ones, and its impact-aware SCA ranks findings by whether your code actually calls the vulnerable path.