CVE-2026-35337
Full vulnerability record from the local CVENow database.
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.
View original CVE JSON
{
"id": "CVE-2026-35337",
"sourceIdentifier": "[email protected]",
"published": "2026-04-13T10:16:11.610",
"lastModified": "2026-10-26T22:10:00.163",
"vulnStatus": "Analyzed",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "Deserialization of Untrusted Data vulnerability in Apache Storm.\n\nVersions Affected:\nbefore 2.8.6.\n\n\nDescription:\nWhen 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.\n\n\nMitigation:\n2.x users should upgrade to 2.8.6.\n\n\nUsers 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.\n\nCredit: This issue was discovered by K."
},
{
"lang": "es",
"value": "Vulnerabilidad de deserialización de datos no confiables en Apache Storm.\n\nVersiones Afectadas:\nanteriores a 2.8.6.\n\nDescripción:\nAl procesar las credenciales de topología enviadas a través de la API Thrift de Nimbus, Storm deserializa el blob TGT codificado en base64 usando ObjectInputStream.readObject() sin ningún filtrado o validación de clases. Un usuario autenticado con derechos de envío de topología podría proporcionar un objeto serializado malintencionado en el campo de credenciales ’TGT’, lo que llevaría a la ejecución remota de código tanto en las JVM de Nimbus como en las de Worker.\n\nMitigación:\nLos usuarios de 2.x deberían actualizar a 2.8.6.\n\nLos usuarios que no puedan actualizar de inmediato deberían aplicar un monkey-patch de una lista de permitidos de ObjectInputFilter a ClientAuthUtils.deserializeKerberosTicket() restringiendo las clases deserializadas a javax.security.auth.kerberos.KerberosTicket y sus dependencias conocidas. Una guía sobre cómo hacer esto está disponible en las notas de la versión 2.8.6.\n\nCrédito: Este problema fue descubierto por K."
}
],
"affected": [
{
"source": "[email protected]",
"affectedData": [
{
"vendor": "Apache Software Foundation",
"product": "Apache Storm Client",
"defaultStatus": "unaffected",
"collectionURL": "https://repo.maven.apache.org/maven2/",
"packageName": "org.apache.storm:storm-client",
"versions": [
{
"version": "0",
"lessThan": "2.8.6",
"versionType": "semver",
"status": "affected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV31": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"type": "Secondary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
"baseScore": 8.8,
"baseSeverity": "HIGH",
"attackVector": "NETWORK",
"attackComplexity": "LOW",
"privilegesRequired": "LOW",
"userInteraction": "NONE",
"scope": "UNCHANGED",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"availabilityImpact": "HIGH"
},
"exploitabilityScore": 2.8,
"impactScore": 5.9
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"timestamp": "2026-04-13T00:00:00+00:00",
"id": "CVE-2026-35337",
"options": [
{
"exploitation": "none"
},
{
"automatable": "no"
},
{
"technicalImpact": "total"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
]
},
"weaknesses": [
{
"source": "[email protected]",
"type": "Secondary",
"description": [
{
"lang": "en",
"value": "CWE-502"
}
]
}
],
"configurations": [
{
"nodes": [
{
"operator": "OR",
"negate": false,
"cpeMatch": [
{
"vulnerable": true,
"criteria": "cpe:2.3:a:apache:storm:*:*:*:*:*:*:*:*",
"versionStartIncluding": "2.0.0",
"versionEndExcluding": "2.8.6",
"matchCriteriaId": "52FAF08F-1AE5-4EC5-BBA7-393B88FC8AD1"
}
]
}
]
}
],
"references": [
{
"url": "https://storm.apache.org/2026/04/12/storm286-released.html",
"source": "[email protected]",
"tags": [
"Release Notes",
"Vendor Advisory"
]
},
{
"url": "http://www.openwall.com/lists/oss-security/2026/04/12/6",
"source": "af854a3a-2127-422b-91ae-364da2661108",
"tags": [
"Mailing List",
"Third Party Advisory"
]
}
]
}