CVE-2026-49844

Improper encoding of non-finite floating-point values during MapMessage JSON serialization in Apache Log4j API produces output that is not valid JSON. This issue affects Apache Log4j API versions 2.13.1 through 2.25.4 and version 2.26.0. The fix for CVE-2026-34481 did not cover all code paths: when a MapMessage contains a non-finite IEEE 754 value (NaN, Infinity, or -Infinity), MapMessage.asJson() emits the corresponding bare token. RFC 8259 does not permit these tokens, so a conformant parser rejects the resulting document. The defect is reachable only when both of the following conditions hold: * The application uses the message resolver https://logging.apache.org/log4j/2.x/manual/json-template-layout.html#event-template-resolver-message of JsonTemplateLayout or any other layout that relies on MapMessage.asJson() or MapMessage.getFormattedMessage(new String[]{"JSON"}). * The application logs a MapMessage that contains an attacker-controlled floating-point value. An attacker who can supply a non-finite value can cause the affected layout to emit malformed JSON, which may corrupt the enclosing log record or disrupt downstream log ingestion and parsing. Users are advised to upgrade to Apache Log4j API 2.25.5 or 2.26.1, both of which emit RFC 8259-compliant JSON for non-finite values.
Configurations

Configuration 1 (hide)

OR cpe:2.3:a:apache:log4j:*:*:*:*:*:*:*:*
cpe:2.3:a:apache:log4j:2.26.0:*:*:*:*:*:*:*
cpe:2.3:a:apache:log4j:3.0.0:alpha1:*:*:*:*:*:*
cpe:2.3:a:apache:log4j:3.0.0:alpha1_rc1:*:*:*:*:*:*
cpe:2.3:a:apache:log4j:3.0.0:alpha1_rc2:*:*:*:*:*:*
cpe:2.3:a:apache:log4j:3.0.0:beta1:*:*:*:*:*:*
cpe:2.3:a:apache:log4j:3.0.0:beta2:*:*:*:*:*:*

History

25 Oct 2026, 15:10

Type Values Removed Values Added
Summary
  • (es) La codificación incorrecta de valores de punto flotante no finitos durante la serialización JSON de MapMessage en la API de Apache Log4j produce una salida que no es JSON válido. Este problema afecta a las versiones de la API de Apache Log4j 2.13.1 a 2.25.4 y a la versión 2.26.0. La corrección para CVE-2026-34481 no cubrió todas las rutas de código: cuando un MapMessage contiene un valor IEEE 754 no finito (NaN, Infinity o -Infinity), MapMessage.asJson() emite el token desnudo correspondiente. RFC 8259 no permite estos tokens, por lo que un analizador conforme rechaza el documento resultante. El defecto es alcanzable solo cuando se cumplen ambas de las siguientes condiciones: * La aplicación utiliza el resolvedor de mensajes HTTPS://logging.apache.org/log4j/2.x/manual/json-template-layout.html#event-template-resolver-message de JsonTemplateLayout o cualquier otro layout que dependa de MapMessage.asJson() o MapMessage.getFormattedMessage(new String[]{’JSON’}). * La aplicación registra un MapMessage que contiene un valor de punto flotante controlado por el atacante. Un atacante que puede suministrar un valor no finito puede hacer que el layout afectado emita JSON malformado, lo que puede corromper el registro de log adjunto o interrumpir la ingesta y el análisis de logs posteriores. Se aconseja a los usuarios actualizar a Apache Log4j API 2.25.5 o 2.26.1, ambas de las cuales emiten JSON compatible con RFC 8259 para valores no finitos.

Information

Published : 2026-07-10 22:16

Updated : 2026-10-25 15:10


NVD link : CVE-2026-49844

Mitre link : CVE-2026-49844

CVE.ORG link : CVE-2026-49844


JSON object : View

Products Affected

apache

  • log4j
CWE
CWE-116

Improper Encoding or Escaping of Output