Draft Kafka AppCo VEX statements#2
Draft
LouisLotter wants to merge 2 commits intomainfrom
Draft
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Kafka AppCo VEX Evidence - 2026-05-07
Scope
This draft covers the HIGH Kafka findings seen in cve-reporter for
quay.io/stackstate/kafka:3.9.2-f6a6e1a0-main-35and in the SUSE Application Collectionapache-kafka:3.9.2-13.5attestation.It intentionally scopes statements to the SUSE Observability Kafka broker image repositories:
pkg:oci/kafka?repository_url=quay.io/stackstate/kafkapkg:oci/kafka?repository_url=registry.rancher.com/suse-observability/kafkaIt does not VEX the upstream AppCo source image directly. The docker-images retag workflow scans that source image before copying, and temporary upstream-owned gate exceptions stay in
images/kafka/.trivyignore.yaml.Inputs Reviewed
vexhubbase:c949ff3f5339d11ef9ef9622038b7346eec7936fdocker-imagesorigin/main:e87c8d2fbad2abb7533778612282c5ff9e94928dhelm-chartsorigin/master:77c420897d4eaee15dae80f4c8c8ace99cd63e962026-05-07T14:45:56Zapache-kafka:3.9.2-13.5Scanner Rows
cve-reporter currently reports ten HIGH rows for the Kafka image. Four are Trivy CVE rows and six are Grype GHSA rows:
CVE-2026-2332,GHSA-355h-qmc2-wpwforg.eclipse.jetty:jetty-http9.4.57.v20241219CVE-2025-67030,GHSA-6fmv-xxpf-w3cworg.codehaus.plexus:plexus-utils3.5.1CVE-2026-24281,GHSA-7xrh-hqfc-g7qrorg.apache.zookeeper:zookeeper3.8.4CVE-2026-24308,GHSA-crhr-qqj8-rpxcorg.apache.zookeeper:zookeeper3.8.4CVE-2026-42577,GHSA-rwm7-x88c-3g2pio.netty:netty-transport-native-epoll4.1.125.FinalCVE-2026-42583,GHSA-mj4r-2hfc-f8p6io.netty:netty-codec4.1.125.FinalThe AppCo attestation lists the same six underlying HIGH vulnerabilities as CVE IDs. cve-reporter shows ten HIGH rows because Trivy and Grype report several of the same advisories under different IDs.
Deployment Evidence
The Kafka chart deploys the image as a broker StatefulSet. In
stable/kafka/templates/statefulset.yaml, thekafkacontainer runs the chart image and defaults to the chart command fromstable/kafka/values.yaml.The command is
/scripts/setup.sh. Instable/kafka/templates/scripts-configmap.yaml,setup.shfinishes with:exec /usr/share/kafka/bin/kafka-server-start.sh /usr/share/kafka/config/server.propertiesThere is no chart path that starts
connect-distributed.sh,connect-standalone.sh, a Jetty-backed Kafka Connect REST worker, or Maven/Plexus archive extraction as part of the supported broker deployment.The Kafka Service exposes Kafka TCP listener ports only. JMX metrics are provided by a separate
jmx-exportersidecar image and service, not by Jetty from the Kafka image.Default Kafka auth values are plaintext for client and inter-broker protocols.
auth.zookeeper.tls.enableddefaults tofalse, andauth.sasl.jaas.zookeeperUser/auth.sasl.jaas.zookeeperPassworddefault to empty strings. ZooKeeper client TLS material is copied only whenauth.zookeeper.tls.enabledand an existing ZooKeeper TLS secret are configured.Review Caveats
These statements are deployment-context VEX, not an upstream claim about the SUSE Application Collection
apache-kafkaimage in every possible use.The statements should be re-reviewed if any supported SUSE Observability deployment:
Local Validation
The per-product OpenVEX files and generated Rancher-compatible index were
checked with:
The index helper was also checked with explicit PURL normalization assertions
for Maven package IDs and OCI
repository_urlIDs.Trivy 0.70.0 reported
Total: 0 (HIGH: 0)and showed six suppressed HIGH CVEs from the Quay OpenVEX file:CVE-2026-2332,CVE-2025-67030,CVE-2026-24281,CVE-2026-24308,CVE-2026-42577, andCVE-2026-42583.This validates the Trivy/OpenVEX shape. cve-reporter's Grype rows still need scanner-side alias/VEX handling if the goal is to make the combined Trivy+Grype total match the AppCo attestation count exactly.