CVE-2026-9648: crypton-x509-validation and crypton-x509 Fail to Enforce X.509 Name Constraints
Summary
CVE-2026-9648: crypton-x509-validation and crypton-x509 do not enforce X.509 Name Constraints. Affects crypton-x509-validation versions >= 1.6.12, < 1.9.1. Fixed in 1.9.1. How to fix ↓
Check if this vulnerability affects your application
Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.
No signup required · Results in about 60 seconds
Background
The crypton-x509-validation and crypton-x509 libraries are part of the Haskell ecosystem, providing functionalities for X.509 certificate validation and handling. These libraries are essential for ensuring secure communications over TLS by validating certificates against established standards. However, they have a critical vulnerability that allows for the acceptance of certificates that should be restricted by the issuing Certificate Authority (CA), potentially compromising the security of TLS connections.
Vulnerability Detail
The vulnerability arises from the failure of the crypton-x509-validation and crypton-x509 libraries to enforce the X.509 Name Constraints extension during certificate validation. This extension is crucial as it defines the permissible namespaces for which a CA can issue certificates. Without this enforcement, a TLS client may accept certificates with Subject Alternative Names (SANs) that fall outside the CA's permitted subtrees. An attacker with access to a name-constrained sub-CA's private key could exploit this flaw to issue unauthorized certificates for domains outside the intended scope, leading to potential impersonation and man-in-the-middle attacks on TLS connections.
How To Fix
Minimum fixed version
1.9.1
This is the first release that contains the fix.
Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →
Workaround
As a temporary workaround, if you are unable to update the libraries immediately, consider implementing additional checks in your application to validate the SANs against the expected domain names manually. However, this is not a substitute for applying the official patches.
Conclusion
The crypton-x509-validation and crypton-x509 libraries have a significant vulnerability that can compromise TLS security by failing to enforce X.509 Name Constraints. It is crucial to update to the patched versions to mitigate this risk. Additionally, using tools like Vulert can help monitor and alert for such vulnerabilities in real-time.
See every vulnerability recorded for crypton-x509-validation →
FAQ
CVE-2026-9648 is a vulnerability in the crypton-x509-validation and crypton-x509 libraries that allows for the acceptance of certificates without enforcing X.509 Name Constraints.
X.509 Name Constraints are a critical extension that restricts the namespaces for which a Certificate Authority (CA) is authorized to issue certificates.
This vulnerability can lead to unauthorized certificate issuance, allowing attackers to impersonate domains and perform man-in-the-middle attacks on TLS connections.
You can check if your application is affected by using the Vulert playground at Vulert Scanner, which allows you to monitor for open-source vulnerabilities using just a manifest file.
Yes, the vulnerability has been fixed in versions 1.9.1 of both crypton-x509-validation and crypton-x509. It is recommended to update to these versions.