GHSA-72hv-8253-57qq

Data: 2025-08-19

Severity: Medium

Riferimenti: - https://github.com/advisories/GHSA-72hv-8253-57qq

Librerie: - com.fasterxml.jackson.core:jackson-core (embedded shaded in com.hazelcast:hazelcast)

Descrizione

jackson-core: Number Length Constraint Bypass in Async Parser Leads to Potential DoS Condition. La vulnerabilità interessa il parser asincrono NonBlockingJsonParser di Jackson, che non rispetta i limiti di lunghezza configurati per i numeri, esponendo potenzialmente l’applicazione a Denial of Service. Sono affette le versioni di jackson-core precedenti alla 2.18.6 e alla 2.21.1.

Falso Positivo per GovWay

GovWay utilizza com.fasterxml.jackson.core:jackson-core alla versione 2.21.2, già contenente il fix per la vulnerabilità.

Gli scanner Trivy e Grype rilevano tuttavia la vulnerabilità anche in hazelcast-5.3.8.jar, che è un fat-jar contenente al proprio interno una copia di jackson-core 2.15.2 rilocata in com/hazelcast/shaded/com/fasterxml/jackson/... (visibile anche dal META-INF/maven/com.fasterxml.jackson.core/jackson-core/pom.properties interno al jar). L’inclusione è effetto del maven-shade-plugin utilizzato in fase di build di Hazelcast, che per default copia integralmente il contenuto della dipendenza shadata, comprese le classi non referenziate dal codice di Hazelcast.

In particolare, è stata verificata l’effettiva presenza fisica delle classi vulnerabili relative al parser asincrono (com/hazelcast/shaded/com/fasterxml/jackson/core/json/async/NonBlockingJsonParser.class, NonBlockingJsonParserBase.class e le interfacce di feeding in com/hazelcast/shaded/com/fasterxml/jackson/core/async/); è stato però altresì verificato, tramite ispezione del bytecode di tutti i .class di Hazelcast non shaded (cioè dell’effettivo codice com.hazelcast.* distinto da com.hazelcast.shaded.*), che nessuna classe Hazelcast invoca o referenzia tali classi async. La serializzazione JSON di Hazelcast utilizza inoltre il parser DOM proprio in com.hazelcast.internal.json, che non condivide il codepath vulnerabile. Anche il codice di GovWay non importa né invoca direttamente le classi shaded.

Le classi vulnerabili sono quindi presenti nel WAR come bytecode «morto», non raggiungibile da alcun codepath a runtime: il vettore di attacco descritto dall’advisory non è esercitabile nel deploy di GovWay e la segnalazione costituisce un falso positivo legato al meccanismo di scansione «ricorsiva» dei jar embedded effettuato dagli scanner.

Configuration Files: