CVE-2026-35337

Apache Storm Client: RCE through Unsafe Deserialization via Kerberos TGT Credential Handling

Published Apr 13, 2026 CVSS 3.1 · 8.8 High EPSS 1.0% KEV · Not listed
Description
Deserialization of Untrusted Data vulnerability in Apache Storm.

Versions Affected:
before 2.8.6.


Description:
When processing topology credentials submitted via the Nimbus Thrift API, Storm deserializes the base64-encoded TGT blob using ObjectInputStream.readObject() without any class filtering or validation. An authenticated user with topology submission rights could supply a crafted serialized object in the "TGT" credential field, leading to remote code execution in both the Nimbus and Worker JVMs.


Mitigation:
2.x users should upgrade to 2.8.6.


Users who cannot upgrade immediately should monkey-patch an ObjectInputFilter allow-list to ClientAuthUtils.deserializeKerberosTicket() restricting deserialized classes to javax.security.auth.kerberos.KerberosTicket and its known dependencies. A guide on how to do this is available in the release notes of 2.8.6.

Credit: This issue was discovered by K.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-jf89-3q6q-vcgr Apache Storm: Deserialization of Untrusted Data vulnerability
History
Type Values Removed Values Added
CPEs cpe:2.3:a:apache:storm:*:*:*:*:*:*:*:*
Type Values Removed Values Added
First Time appeared Apache
Apache storm
Vendors & Products Apache
Apache storm
Type Values Removed Values Added
Metrics cvssV3_1

{'score': 8.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}

ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}

Type Values Removed Values Added
Description Deserialization of Untrusted Data vulnerability in Apache Storm. Versions Affected: before 2.8.6. Description: When processing topology credentials submitted via the Nimbus Thrift API, Storm deserializes the base64-encoded TGT blob using ObjectInputStream.readObject() without any class filtering or validation. An authenticated user with topology submission rights could supply a crafted serialized object in the "TGT" credential field, leading to remote code execution in both the Nimbus and Worker JVMs. Mitigation: 2.x users should upgrade to 2.8.6. Users who cannot upgrade immediately should monkey-patch an ObjectInputFilter allow-list to ClientAuthUtils.deserializeKerberosTicket() restricting deserialized classes to javax.security.auth.kerberos.KerberosTicket and its known dependencies. A guide on how to do this is available in the release notes of 2.8.6. Credit: This issue was discovered by K.
Title Apache Storm Client: RCE through Unsafe Deserialization via Kerberos TGT Credential Handling
Weaknesses CWE-502
References
Weaknesses

Sources

Status
PUBLISHED
Assigner
apache
Published
Updated
Apr 14, 2026, 3:55 AM
Reserved
Apr 2, 2026, 9:21 AM
Status
Analyzed
Published
Apr 13, 2026, 10:16 AM
Modified
Oct 26, 2026, 10:10 PM