Librerie incluse in com.hazelcast:hazelcast

Data: 2026-10-15

Severity: Moderate / High

Libreria: com.hazelcast:hazelcast 5.7.0, che include al proprio interno (rilocate in com/hazelcast/shaded/...):

  • com.fasterxml.jackson.core:jackson-core 2.21.2

  • com.fasterxml.jackson.core:jackson-databind 2.21.2

  • tools.jackson.core:jackson-core 3.1.2

  • tools.jackson.core:jackson-databind 3.1.2

Descrizione

Gli scanner Trivy e Grype, analizzando l’immagine di GovWay, rilevano all’interno di hazelcast-5.7.0.jar le librerie Jackson sopra indicate tramite i file META-INF/maven/.../pom.properties presenti nel jar e vi associano i seguenti advisory:

Advisory

CVE

Severity

Descrizione

GHSA-7hhh-6rmp-j9qf

CVE-2026-89425

High

jackson-core: UTF8DataInputJsonParser._reportInvalidToken() missing maxErrorTokenLength limit

GHSA-p6pp-m3f8-5c89

CVE-2026-89407

High

jackson-core: ReDoS: quadratic backtracking in NumberInput.PATTERN_FLOAT via looksLikeValidNumber()

GHSA-r7wm-3cxj-wff9

CVE-2026-68494

High

jackson-core: Async parser maxNumberLength bypass via chunked digit accumulation

GHSA-j3rv-43j4-c7qm

CVE-2026-54512

High

jackson-databind: PolymorphicTypeValidator bypass via generic type parameters

GHSA-rmj7-2vxq-3g9f

CVE-2026-54513

High

jackson-databind: array subtype allowlist bypass in BasicPolymorphicTypeValidator

GHSA-q4xh-88c3-wmh7

CVE-2026-68497

High

jackson-databind: Duration XMLGregorianCalendar Unbounded Number Parse DoS

GHSA-cxp5-3px4-pw24

CVE-2026-91777

High

jackson-databind: quadratic forward-reference completion

GHSA-wv8q-qhhj-9h54

CVE-2026-91776

High

jackson-databind: retains every unknown raw type ID

GHSA-hgj6-7826-r7m5

CVE-2026-54514

Moderate

jackson-databind: InetSocketAddress deserialization triggers eager DNS resolution (SSRF)

GHSA-vvgp-rfg2-7rr6

CVE-2026-77310

Moderate

jackson-databind: incomplete fix for CVE-2026-54514 (InetAddress)

GHSA-wjgm-6hv5-3cvf

CVE-2026-19032

Moderate

jackson-databind: Path deserialization missing scheme allowlist for FileSystemProvider resolution

GHSA-gx83-3vf8-gh7j

CVE-2026-83557

Moderate

jackson-databind: Comparable missing from DefaultBaseTypeLimitingValidator’s unsafe base types

GHSA-5jmj-h7xm-6q6v

CVE-2026-54515

Moderate

jackson-databind: case-insensitive deserialization bypasses per-property @JsonIgnoreProperties

GHSA-9fxm-vc8v-hj55

CVE-2026-54516

Moderate

jackson-databind: renamed @JsonIgnore’d setters can deserialize via private fields

GHSA-3pjw-73gf-8qr5

CVE-2026-59888

Moderate

jackson-databind: @JsonIgnore on a Record property is bypassed with a PropertyNamingStrategy

GHSA-5hh8-q8hv-fr38

CVE-2026-54517

Moderate

jackson-databind: @JsonView bypass for setterless creator properties

GHSA-rcqc-6cw3-h962

CVE-2026-54518

Moderate

jackson-databind: @JsonView bypass for unwrapped creator parameters

GHSA-5gvw-p9qm-jgwh

CVE-2026-59889

Moderate

jackson-databind: @JsonView bypassed for @JsonUnwrapped container properties on deserialization

GHSA-mhm7-754m-9p8w

Moderate

jackson-databind: @JsonView bypass for creator properties with @JsonTypeInfo(include=As.EXTERNAL_PROPERTY)

Gli advisory su jackson-core interessano sia la copia 2.21.2 che la copia 3.1.2; gli advisory su jackson-databind interessano la copia 2.21.2 e, ad eccezione di GHSA-mhm7-754m-9p8w, anche la copia 3.1.2.

Falso Positivo per GovWay

Le librerie Jackson utilizzate direttamente da GovWay (com.fasterxml.jackson.core:jackson-core e jackson-databind) non sono interessate da nessuno degli advisory indicati.

Le segnalazioni riguardano esclusivamente le copie incluse in hazelcast-5.7.0.jar. Hazelcast non viene distribuito in una versione priva delle librerie incluse: sul repository Maven Central è disponibile il solo jar hazelcast-5.7.0.jar, costruito con il maven-shade-plugin che copia integralmente le dipendenze rilocandole in com.hazelcast.shaded.*, comprese le classi non utilizzate da Hazelcast. Le classi rilocate non sono sostituibili dalle librerie Jackson incluse in GovWay.

L’utilizzo delle copie incluse è stato verificato tramite ispezione del bytecode di tutte le classi di hazelcast-5.7.0.jar esterne ai package com.hazelcast.shaded.*, ricercando sia i riferimenti diretti alle classi sia i riferimenti per nome (reflection, META-INF/services):

  • com.fasterxml.jackson.core:jackson-core 2.21.2, com.fasterxml.jackson.core:jackson-databind 2.21.2 e tools.jackson.core:jackson-databind 3.1.2 non sono referenziate da alcuna classe di Hazelcast; jackson-core 2.21.2 è utilizzata unicamente da jackson-databind 2.21.2. Gli unici riferimenti esterni sono i file META-INF/services con cui le librerie registrano le proprie implementazioni, utilizzati solo da chi ne richiede il tipo, cosa che non avviene. Si tratta quindi di bytecode non raggiungibile da alcun codepath a runtime.

  • tools.jackson.core:jackson-core 3.1.2 (insieme a tools.jackson.jr) è invece utilizzata da Hazelcast esclusivamente per l’elaborazione di documenti JSON memorizzati nelle strutture dati del cluster:

    • creazione dei metadati dei valori di tipo HazelcastJsonValue inseriti in una mappa (JsonMetadataInitializer, attivo solo per i valori serializzati come JSON);

    • valutazione di query e predicati su attributi di valori JSON (JsonGetter, JsonDataGetter e relativi adapter di navigazione) e partizionamento per attributi JSON (AttributePartitioningStrategy);

    • serializzazione JSON del motore Jet (com.hazelcast.jet.json), disabilitato per default e non utilizzato.

    Il parser asincrono di Jackson (oggetto di GHSA-r7wm-3cxj-wff9) non è utilizzato da alcuna classe di Hazelcast.

GovWay utilizza Hazelcast unicamente per i contatori del rate limiting: le strutture dati contengono esclusivamente chiavi e valori Java di GovWay (IDUnivocoGroupByPolicy, DatiCollezionati e contatori Long), non vengono mai memorizzati valori HazelcastJsonValue, non vengono eseguite query o predicati sulle mappe, non viene utilizzato il partizionamento per attributi e il motore Jet non viene abilitato. I codepath che utilizzano tools.jackson.core:jackson-core non sono quindi raggiungibili tramite le funzionalità di GovWay né tramite le interfacce esposte dal gateway.

Tali codepath potrebbero essere attivati solamente da chi è in grado di collegarsi direttamente alle porte del cluster Hazelcast come member o client, inserendo valori JSON nelle mappe o eseguendo query. Nella Community Edition di Hazelcast non è prevista l’autenticazione dei member e dei client: le porte del cluster devono essere raggiungibili esclusivamente dai nodi GovWay che ne fanno parte e un soggetto in grado di accedervi potrebbe già alterare direttamente i contatori. Tale scenario non rientra pertanto nella superficie di attacco di GovWay e le segnalazioni costituiscono falsi positivi legati alla scansione «ricorsiva» dei jar effettuata dagli scanner.

Configuration Files: