{"id":"CVE-2026-41731","summary":"In Spring for Apache Kafka, overly broad trusted-package matching in header mappers exposes JDK classes to deserialization","details":"JsonKafkaHeaderMapper and the deprecated DefaultKafkaHeaderMapper matched type headers against trusted packages using a prefix check, meaning that trusting any package implicitly trusted all of its subpackages. Combined with Jackson's default bean deserialization, a producer could supply crafted header values that caused the consumer to deserialize arbitrary JDK types.\n\nAffected versions:\nSpring for Apache Kafka 4.0.0 through 4.0.5; 3.3.0 through 3.3.15; 3.2.0 through 3.2.13; 2.9.0 through 2.9.13; 2.8.0 through 2.8.11.","aliases":["GHSA-xq69-5h5v-x9x4"],"modified":"2026-07-16T03:31:10.201911095Z","published":"2026-06-09T23:49:26.535Z","database_specific":{"unresolved_ranges":[{"extracted_events":[{"introduced":"4.0.0"},{"fixed":"4.0.5.1"},{"introduced":"3.3.0"},{"fixed":"3.3.15.1"},{"introduced":"3.2.0"},{"fixed":"3.2.14"},{"introduced":"2.9.0"},{"fixed":"2.9.14"},{"introduced":"2.8.0"},{"fixed":"2.8.12"}],"source":"AFFECTED_FIELD"},{"extracted_events":[{"introduced":"4.0.0"},{"fixed":"4.0.5"},{"introduced":"3.3.0"},{"fixed":"3.3.15"},{"introduced":"3.2.0"},{"fixed":"3.2.13"},{"introduced":"2.9.0"},{"fixed":"2.9.13"},{"introduced":"2.8.0"},{"fixed":"2.8.11"}],"source":"DESCRIPTION"}],"cna_assigner":"vmware","cwe_ids":["CWE-502"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/41xxx/CVE-2026-41731.json"},"references":[{"type":"WEB","url":"https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-41731.json"},{"type":"WEB","url":"https://spring.io/security/cve-2026-41731"},{"type":"ADVISORY","url":"https://access.redhat.com/security/cve/CVE-2026-41731"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/41xxx/CVE-2026-41731.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-41731"},{"type":"REPORT","url":"https://bugzilla.redhat.com/show_bug.cgi?id=2487375"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/spring-projects/spring-kafka","events":[{"introduced":"fb5b3ea1976cbd7846d5df555fa5e687b68364d9"},{"last_affected":"d3b3f85a3cf6571e4b2f4b64641e281050459ca7"},{"introduced":"1d8378bff7169aa7c111857c1dab0c6f8c330e3f"},{"last_affected":"9f3fefff292c25c972ffbc7122a30c776e37e018"},{"introduced":"a9001bf4c2cae68ad5d58c65d4d588922fec00f6"},{"last_affected":"5572a82b1a6c931d9a1656cadf8ba3df59102492"},{"introduced":"f1b207daac91ddc880c0883ec759809464c78700"},{"last_affected":"4fef8fb7a43d18042468233e8aea1ab34f5c842f"}],"database_specific":{"source":"CPE_RANGE","cpe":"cpe:2.3:a:vmware:spring_for_apache_kafka:*:*:*:*:*:*:*:*","extracted_events":[{"introduced":"2.8.0"},{"last_affected":"2.8.11"},{"introduced":"2.9.0"},{"last_affected":"2.9.13"},{"introduced":"3.3.0"},{"last_affected":"3.3.15"},{"introduced":"4.0.0"},{"last_affected":"4.0.5"}]}}],"versions":["v3.3.15","v4.0.5","v4.0.4","v3.3.14","v4.0.3","v3.3.13","v4.0.2","v3.3.12","v4.0.1","v4.0.0","v3.3.11","v3.3.10","v3.3.9","v3.3.8","v3.3.7","v3.3.6","v3.3.5","v3.3.4","v3.3.3","v3.3.2","v3.3.1","v3.3.0","v2.9.13","v2.9.12","v2.9.11","v2.9.10","v2.9.9","v2.9.8","v2.9.7","v2.9.6","v2.9.5","v2.9.4","v2.9.3","v2.8.11","v2.9.2","v2.8.10","v2.9.1","v2.8.9","v2.9.0","v2.8.8","v2.8.7","v2.8.6","v2.8.5","v2.8.4","v2.8.3","v2.8.2","v2.8.1","v2.8.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-41731.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H"}]}