aws-samples / aws-samples/sample-code-for-a-secure-vault-using-aws-nitro-enclaves
RUSTSEC-2026-0044: AWS-LC X.509 Name Constraints Bypass via Wildcard/Unicode CN
- Dominant language
- Rust
- Stars
- 9
- Forks
- 7
- PR merge metrics
- No merged PRs in 30d
Description
> AWS-LC X.509 Name Constraints Bypass via Wildcard/Unicode CN
| Details | |
| ------------------- | ---------------------------------------------- |
| Package | `aws-lc-sys` |
| Version | `0.35.0` |
| Date | 2026-03-19 |
| Patched versions | `>=0.39.0` |
| Unaffected versions | `<0.32.0` |
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-sys` should upgrade to the most recent release of `aws-lc-sys`.
## 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-sys` should
upgrade to the most recent releases of `aws-lc-sys`.
See [advisory page](https://rustsec.org/advisories/RUSTSEC-2026-0044.html) for additional details.
Contributor guide
Research direction
Start by locating aws-lc-sys in the repository's Rust dependency manifests and checking the currently resolved version. Upgrade it to version 0.39.0 or newer, then run the project's existing Rust checks and tests. Done means the patched dependency is selected and the checks pass.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, rust
- Domain
- cryptography, security
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 68/100