Severity by source
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Primary rating from Vendor (vmware) · only source for this CVE.
CVSS VectorVendor: vmware
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Lifecycle Timeline
3DescriptionCVE.org
JsonPulsarHeaderMapper matched type headers against trusted packages using a prefix check, meaning that trusting any package implicitly trusted all of its subpackages. Additionally, an empty trusted-packages configuration fell back to trusting all packages rather than applying a safe default allow-list.
Affected versions: Spring for Apache Pulsar 2.0.0 through 2.0.5; 1.2.0 through 1.2.17; 1.1.0 through 1.1.17.
Articles & Coverage 1
AnalysisAI
Insecure deserialization in Spring for Apache Pulsar's JsonPulsarHeaderMapper allows remote attackers to bypass trusted-package controls and potentially trigger arbitrary Java object instantiation through Pulsar message headers. The flaw stems from a prefix-based package match plus an unsafe empty-allow-list default, affecting versions 1.1.0-1.1.17, 1.2.0-1.2.17, and 2.0.0-2.0.5. No public exploit identified at time of analysis, but the CVSS 8.1 rating and CWE-502 classification place this firmly in the high-impact Java deserialization category that has historically yielded remote code execution.
Technical ContextAI
Spring for Apache Pulsar is the Spring portfolio's integration library for Apache Pulsar, a distributed messaging and streaming platform. The JsonPulsarHeaderMapper component converts Pulsar message headers into typed Java objects on the consumer side, using a 'trusted packages' allow-list to constrain which classes Jackson may instantiate during deserialization - a standard defense against the CWE-502 Deserialization of Untrusted Data class of bugs. Two distinct logic defects undermine that defense: trust is enforced via string prefix matching (so trusting 'com.example' also trusts 'com.example.attacker' and any other subpackage a consumer never intended), and an empty trusted-packages configuration silently degrades to trusting every package instead of the documented safe-default behavior. The combination effectively turns header deserialization into a broad gadget-loading surface whenever Spring Pulsar consumers process headers from a producer an attacker controls.
RemediationAI
Upgrade Spring for Apache Pulsar to a fixed release on your branch - consult https://spring.io/security/cve-2026-41732 for the exact patched versions, as the input does not enumerate them and they should not be guessed. If immediate upgrade is not feasible, explicitly configure the trustedPackages property on JsonPulsarHeaderMapper to a minimal, exhaustive allow-list of the fully qualified packages your application actually deserializes, avoiding broad parents such as 'com' or 'org' since prefix matching will pull in everything beneath them, and never leave the trusted-packages list empty since that triggers the unsafe trust-everything fallback. Where header-typed deserialization is not required, switch to a header mapper that treats all headers as raw bytes or strings, accepting that downstream code must then perform its own typed conversion. Additionally restrict which producers can publish to consumed topics via Pulsar authentication and authorization so that untrusted parties cannot inject crafted headers in the first place.
Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m
Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti
Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent
Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug
JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up
Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up
The WLS Security component in Oracle WebLogic Server 10.3.6.0, 12.1.2.0, 12.1.3.0, and 12.2.1.0 allows remote attackers
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow
Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla
The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during
Same weakness CWE-502 – Deserialization of Untrusted Data
View allSame technique Deserialization
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-35909
GHSA-gg69-9wwp-6jx2