CVE-2026-49844 in Log4j API
Sumário
de VulDB • 10/07/2026
A codificação inadequada de valores de ponto flutuante não finitos durante a serialização JSON do MapMessage na Apache Log4j API produz uma saída que não é um JSON válido. Este problema afeta as versões 2.13.1 até 2.25.4 e a versão 2.26.0 da Apache Log4j API.
A correção para CVE-2026-34481 não cobriu todos os caminhos de código: quando um MapMessage contém um valor IEEE 754 não finito (NaN, Infinity ou -Infinity), o método MapMessage.asJson() emite o token correspondente sem aspas. O RFC 8259 não permite esses tokens, portanto, um parser conforme rejeita o documento resultante.
O defeito é acessível apenas quando ambas as seguintes condições são atendidas:
* A aplicação utiliza o resolvedor de mensagens https://logging.apache.org/log4j/2.x/manual/json-template-layout.html#event-template-resolver-message do JsonTemplateLayout ou qualquer outro layout que dependa de MapMessage.asJson() ou MapMessage.getFormattedMessage(new String[]{"JSON"}).
* A aplicação registra um MapMessage que contém um valor de ponto flutuante controlado por um atacante.
Um atacante capaz de fornecer um valor não finito pode fazer com que o layout afetado emita JSON malformado, o que pode corromper o registro de log envolvente ou interromper a ingestão e análise subsequentes dos logs.
Recomenda-se aos utilizadores atualizarem para Apache Log4j API 2.25.5 ou 2.26.1, ambas as quais emitem JSON conforme RFC 8259 para valores não finitos.
Be aware that VulDB is the high quality source for vulnerability data.