You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This analysis was performed with the assistance of Claude Opus 4.6 (Anthropic).
Summary
The Kafka Connect runtime distribution includes parquet-jackson-1.17.0.jar which shades com.fasterxml.jackson.core:jackson-core:2.19.2. This version is affected by GHSA-72hv-8253-57qq (HIGH severity).
The vulnerability is in the non-blocking (async) JSON parser, which bypasses the maxNumberLength constraint (default: 1000 characters) defined in StreamReadConstraints. This allows an attacker to send JSON with arbitrarily long numbers through the async parser API, leading to excessive memory allocation and potential CPU exhaustion (DoS).
Note: Iceberg's own direct jackson-core dependency is already at 2.21.1 (fixed). This issue is specifically about the shaded copy inside parquet-jackson.
Reproducing
Build the Kafka Connect runtime distribution and scan with Trivy:
# Build from main
./gradlew :iceberg-kafka-connect:iceberg-kafka-connect-runtime:distZip -x test -x integrationTest
# Unzip the distribution
unzip -q kafka-connect/kafka-connect-runtime/build/distributions/iceberg-kafka-connect-runtime-*.zip -d /tmp/iceberg-kc-scan
# Scan with Trivy (use rootfs mode for standalone JAR detection)
trivy rootfs /tmp/iceberg-kc-scan/iceberg-kafka-connect-runtime-*/lib/ -s HIGH,CRITICAL --scanners vuln
The vulnerable jackson-core:2.19.2 is shaded insideparquet-jackson-1.17.0.jar. This means it cannot be fixed by overriding the jackson-core version in Iceberg's dependency management — it requires an upstream Parquet release with an updated shaded jackson-core.
Dependency chain
parquet-jackson:1.17.0 (containing shaded jackson-core:2.19.2) is pulled in transitively by:
Note
This analysis was performed with the assistance of Claude Opus 4.6 (Anthropic).
Summary
The Kafka Connect runtime distribution includes
parquet-jackson-1.17.0.jarwhich shadescom.fasterxml.jackson.core:jackson-core:2.19.2. This version is affected by GHSA-72hv-8253-57qq (HIGH severity).The vulnerability is in the non-blocking (async) JSON parser, which bypasses the
maxNumberLengthconstraint (default: 1000 characters) defined inStreamReadConstraints. This allows an attacker to send JSON with arbitrarily long numbers through the async parser API, leading to excessive memory allocation and potential CPU exhaustion (DoS).Note: Iceberg's own direct
jackson-coredependency is already at 2.21.1 (fixed). This issue is specifically about the shaded copy insideparquet-jackson.Reproducing
Build the Kafka Connect runtime distribution and scan with Trivy:
Trivy output (relevant finding):
Analysis
The vulnerable
jackson-core:2.19.2is shaded insideparquet-jackson-1.17.0.jar. This means it cannot be fixed by overriding the jackson-core version in Iceberg's dependency management — it requires an upstream Parquet release with an updated shaded jackson-core.Dependency chain
parquet-jackson:1.17.0(containing shadedjackson-core:2.19.2) is pulled in transitively by:iceberg-parquet→parquet-hadoop:1.17.0→parquet-jackson:1.17.0Upstream tracking
Blocked on
parquet-javarelease that bumps the shaded jackson-core to >= 2.21.1References
StreamReadConstraints.maxNumberLengthfor non-blocking (async) parser FasterXML/jackson-core#1555