AWS-LC X.509 Name Constraints Bypass via Wildcard/Unicode CN
Summary
AWS-LC is an open-source, general-purpose cryptographic library.
Impact
A logic error in CN (Common Name) validation allows certificates with wildcard or raw UTF-8 Unicode CN values to bypass name constraints enforcement. The cn2dnsid function does not recognize these CN patterns as valid DNS identifiers, causing NAME_CONSTRAINTS_check_CN to skip validation. However, X509_check_host accepts these CN values when no dNSName SAN is present, allowing certificates to bypass name constraints while still being used for hostname verification.
Customers of AWS services do not need to take action. Applications using AWS-LC should upgrade to the most recent release of AWS-LC.
Impacted versions:
- AWS-LC >= v1.61.0, < v1.71.0
Patches
The patch is included in AWS-LC v1.71.0.
Workarounds
Applications that set X509_CHECK_FLAG_NEVER_CHECK_SUBJECT to disable CN fallback are not affected. Applications that only encounter certificates with dNSName SANs (standard for public WebPKI) are also not affected.
Otherwise, there is no workaround and applications using AWS-LC should upgrade to the most recent releases of AWS-LC.
References
If you have any questions or comments about this advisory, we ask that you contact AWS Security via our [vulnerability reporting page](https://aws.amazon.com/security/vulnerability-reporting/) or directly via email to...
Affected versions
| Package | Affected | Fixed in |
|---|---|---|
| AWS-LC Product | >= v1.61.0, < 1.71.0 | 1.71.0 |
Details and references
### Summary AWS-LC is an open-source, general-purpose cryptographic library. ### Impact A logic error in CN (Common Name) validation allows certificates with wildcard or raw UTF-8 Unicode CN values to bypass name constraints enforcement. The `cn2dnsid` function does not recognize these CN patterns as valid DNS identifiers, causing `NAME_CONSTRAINTS_check_CN` to skip validation. However, `X509_check_host` accepts these CN values when no dNSName SAN is present, allowing certificates to bypass name constraints while still being used for hostname verification. Customers of AWS services do not need to take action. Applications using AWS-LC should upgrade to the most recent release of AWS-LC. ### Impacted versions: * AWS-LC >= v1.61.0, < v1.71.0 ### Patches The patch is included in AWS-LC v1.71.0. ### Workarounds Applications that set `X509_CHECK_FLAG_NEVER_CHECK_SUBJECT` to disable CN fallback are not affected. Applications that only encounter certificates with dNSName SANs (standard for public WebPKI) are also not affected. Otherwise, there is no workaround and applications using AWS-LC should upgrade to the most recent releases of AWS-LC. ### References If you have any questions or comments about this advisory, we ask that you contact AWS Security via our [vulnerability reporting page](https://aws.amazon.com/security/vulnerability-reporting/) or directly via email to [aws-security@amazon.com](mailto:aws-security@amazon.com). Please do not create a public GitHub issue. ### Credits Oleh Konko from 1seal (https://1seal.org/)
- Severity from
- GitHub (reviewed advisory)