{"id":"GHSA-xq69-5h5v-x9x4","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":["CVE-2026-41731"],"modified":"2026-06-12T22:11:25.858397Z","published":"2026-06-10T00:31:52Z","database_specific":{"github_reviewed":true,"github_reviewed_at":"2026-06-12T21:51:09Z","nvd_published_at":"2026-06-10T00:16:52Z","cwe_ids":["CWE-502"],"severity":"HIGH"},"references":[{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-41731"},{"type":"PACKAGE","url":"https://github.com/spring-projects/spring-kafka"},{"type":"WEB","url":"https://spring.io/security/cve-2026-41731"}],"affected":[{"package":{"name":"org.springframework.kafka:spring-kafka","ecosystem":"Maven","purl":"pkg:maven/org.springframework.kafka/spring-kafka"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.0.0"},{"fixed":"4.0.6"}]}],"versions":["4.0.0","4.0.1","4.0.2","4.0.3","4.0.4","4.0.5"],"database_specific":{"last_known_affected_version_range":"\u003c= 4.0.5","source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/06/GHSA-xq69-5h5v-x9x4/GHSA-xq69-5h5v-x9x4.json"}},{"package":{"name":"org.springframework.kafka:spring-kafka","ecosystem":"Maven","purl":"pkg:maven/org.springframework.kafka/spring-kafka"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"3.3.0"},{"fixed":"3.3.16"}]}],"versions":["3.3.0","3.3.1","3.3.10","3.3.11","3.3.12","3.3.13","3.3.14","3.3.15","3.3.2","3.3.3","3.3.4","3.3.5","3.3.6","3.3.7","3.3.8","3.3.9"],"database_specific":{"last_known_affected_version_range":"\u003c= 3.3.15","source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/06/GHSA-xq69-5h5v-x9x4/GHSA-xq69-5h5v-x9x4.json"}},{"package":{"name":"org.springframework.kafka:spring-kafka","ecosystem":"Maven","purl":"pkg:maven/org.springframework.kafka/spring-kafka"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"3.2.0"},{"last_affected":"3.2.13"}]}],"versions":["3.2.0","3.2.1","3.2.10","3.2.2","3.2.3","3.2.4","3.2.5","3.2.6","3.2.7","3.2.8","3.2.9"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/06/GHSA-xq69-5h5v-x9x4/GHSA-xq69-5h5v-x9x4.json"}},{"package":{"name":"org.springframework.kafka:spring-kafka","ecosystem":"Maven","purl":"pkg:maven/org.springframework.kafka/spring-kafka"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.9.0"},{"last_affected":"2.9.13"}]}],"versions":["2.9.0","2.9.1","2.9.10","2.9.11","2.9.12","2.9.13","2.9.2","2.9.3","2.9.4","2.9.5","2.9.6","2.9.7","2.9.8","2.9.9"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/06/GHSA-xq69-5h5v-x9x4/GHSA-xq69-5h5v-x9x4.json"}},{"package":{"name":"org.springframework.kafka:spring-kafka","ecosystem":"Maven","purl":"pkg:maven/org.springframework.kafka/spring-kafka"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"2.8.11"}]}],"versions":["1.0.0.RELEASE","1.0.1.RELEASE","1.0.2.RELEASE","1.0.3.RELEASE","1.0.4.RELEASE","1.0.5.RELEASE","1.0.6.RELEASE","1.1.0.RELEASE","1.1.1.RELEASE","1.1.2.RELEASE","1.1.3.RELEASE","1.1.4.RELEASE","1.1.5.RELEASE","1.1.6.RELEASE","1.1.7.RELEASE","1.1.8.RELEASE","1.2.0.RELEASE","1.2.1.RELEASE","1.2.2.RELEASE","1.2.3.RELEASE","1.3.0.RELEASE","1.3.1.RELEASE","1.3.10.RELEASE","1.3.11.RELEASE","1.3.2.RELEASE","1.3.3.RELEASE","1.3.4.RELEASE","1.3.5.RELEASE","1.3.6.RELEASE","1.3.7.RELEASE","1.3.8.RELEASE","1.3.9.RELEASE","2.0.0.RELEASE","2.0.1.RELEASE","2.0.2.RELEASE","2.0.3.RELEASE","2.0.4.RELEASE","2.0.5.RELEASE","2.0.6.RELEASE","2.0.7.RELEASE","2.0.8.RELEASE","2.1.0.RELEASE","2.1.1.RELEASE","2.1.10.RELEASE","2.1.11.RELEASE","2.1.12.RELEASE","2.1.13.RELEASE","2.1.14.RELEASE","2.1.2.RELEASE","2.1.3.RELEASE","2.1.4.RELEASE","2.1.5.RELEASE","2.1.6.RELEASE","2.1.7.RELEASE","2.1.8.RELEASE","2.1.9.RELEASE","2.2.0.RELEASE","2.2.1.RELEASE","2.2.10.RELEASE","2.2.11.RELEASE","2.2.12.RELEASE","2.2.13.RELEASE","2.2.14.RELEASE","2.2.15.RELEASE","2.2.2.RELEASE","2.2.3.RELEASE","2.2.4.RELEASE","2.2.5.RELEASE","2.2.6.RELEASE","2.2.7.RELEASE","2.2.8.RELEASE","2.2.9.RELEASE","2.3.0.RELEASE","2.3.1.RELEASE","2.3.10.RELEASE","2.3.11.RELEASE","2.3.12.RELEASE","2.3.13.RELEASE","2.3.14.RELEASE","2.3.2.RELEASE","2.3.3.RELEASE","2.3.4.RELEASE","2.3.5.RELEASE","2.3.6.RELEASE","2.3.7.RELEASE","2.3.8.RELEASE","2.3.9.RELEASE","2.4.0.RELEASE","2.4.1.RELEASE","2.4.10.RELEASE","2.4.11.RELEASE","2.4.12.RELEASE","2.4.13.RELEASE","2.4.2.RELEASE","2.4.3.RELEASE","2.4.4.RELEASE","2.4.5.RELEASE","2.4.6.RELEASE","2.4.7.RELEASE","2.4.8.RELEASE","2.4.9.RELEASE","2.5.0.RELEASE","2.5.1.RELEASE","2.5.10.RELEASE","2.5.11.RELEASE","2.5.12.RELEASE","2.5.13.RELEASE","2.5.14.RELEASE","2.5.15.RELEASE","2.5.16.RELEASE","2.5.17.RELEASE","2.5.2.RELEASE","2.5.3.RELEASE","2.5.4.RELEASE","2.5.5.RELEASE","2.5.6.RELEASE","2.5.7.RELEASE","2.5.8.RELEASE","2.5.9.RELEASE","2.6.0","2.6.1","2.6.10","2.6.11","2.6.12","2.6.13","2.6.2","2.6.3","2.6.4","2.6.5","2.6.6","2.6.7","2.6.8","2.6.9","2.7.0","2.7.1","2.7.10","2.7.11","2.7.12","2.7.13","2.7.14","2.7.2","2.7.3","2.7.4","2.7.5","2.7.6","2.7.7","2.7.8","2.7.9","2.8.0","2.8.1","2.8.10","2.8.11","2.8.2","2.8.3","2.8.4","2.8.5","2.8.6","2.8.7","2.8.8","2.8.9"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/06/GHSA-xq69-5h5v-x9x4/GHSA-xq69-5h5v-x9x4.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H"}]}