CVE-2026-35337: Apache Storm Client: RCE through Unsafe Deserialization via Kerberos TGT Credential Handling
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.
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2026-35337?
CVE-2026-35337 is classified as a critical vulnerability due to its potential for remote code execution.
How do I fix CVE-2026-35337?
To resolve CVE-2026-35337, upgrade to Apache Storm version 2.8.6 or later.
What impact does CVE-2026-35337 have on my system?
CVE-2026-35337 can allow attackers to execute arbitrary code on the affected system, leading to severe security breaches.
Which versions of Apache Storm are affected by CVE-2026-35337?
CVE-2026-35337 affects all versions of Apache Storm prior to 2.8.6.
How does CVE-2026-35337 exploit unsafe deserialization?
CVE-2026-35337 exploits unsafe deserialization through improper handling of Kerberos TGT credentials within the Nimbus Thrift API.