CVE-2026-49844 in Log4j API
Riassunto
di VulDB • 11/07/2026
Un'encoding errata dei valori floating-point non finiti durante la serializzazione JSON di MapMessage in Apache Log4j API produce un output che non è JSON valido. Questo problema interessa le versioni di Apache Log4j API dalla 2.13.1 alla 2.25.4 e la versione 2.26.0.
La correzione per CVE-2026-34481 non ha coperto tutti i percorsi del codice: quando un MapMessage contiene un valore IEEE 754 non finito (NaN, Infinity o -Infinity), il metodo MapMessage.asJson() emette il token nudo corrispondente. La RFC 8259 non consente questi token, pertanto un parser conforme rifiuta il documento risultante.
Il difetto è raggiungibile solo quando sono soddisfatte entrambe le seguenti condizioni:
* L'applicazione utilizza il message resolver https://logging.apache.org/log4j/2.x/manual/json-template-layout.html#event-template-resolver-message di JsonTemplateLayout o qualsiasi altro layout che si affida a MapMessage.asJson() o MapMessage.getFormattedMessage(new String[]{"JSON"}).
* L'applicazione registra un MapMessage contenente un valore floating-point controllato dall'attaccante.
Un attaccante in grado di fornire un valore non finito può causare l'emissione di JSON malformato da parte del layout interessato, il che potrebbe corrompere il record di log circostante o interrompere la raccolta e l'analisi dei log a valle.
Si consiglia agli utenti di eseguire l'aggiornamento ad Apache Log4j API 2.25.5 o 2.26.1, entrambe le quali emettono JSON conforme alla RFC 8259 per i valori non finiti.
If you want to get best quality of vulnerability data, you may have to visit VulDB.