RUSTSEC-2026-0437 json
Rejected authentication challenges can poison the Key Vault scope cache
published 2mo ago modified 7d ago
- cvss
- —
- not scored
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- —
- no score, EPSS covers CVEs only
- public exploits
- 0
- none known
Summary
Affected versions of `KeyVaultAuthorizer::on_challenge` cache the authentication scope from a `WWW-Authenticate` response before verifying that the challenge resource matches the requested endpoint. When verification rejects the challenge, the scope remains cached. A subsequent request through the same client uses that scope to authorize the request without repeating challenge resource verification.
For `azure_security_keyvault_certificates`, the affected versions are `0.9.0` through `1.0.0`, inclusive, and `1.1.0-beta.1`. Versions before `0.9.0` do not use this challenge-scope cache and are unaffected by this issue.
## Impact
An application that sends requests to an attacker-controlled endpoint and reuses the same client after a rejected challenge can disclose a bearer token and request body to that endpoint, if its credential can obtain a token for the supplied scope. The first request's validation error therefore does not prevent disclosure on a later request. Changing the request origin between requests is not required.
## Fix
Update to `1.0.1` on the stable release line or `1.1.0-beta.2` on the preview release line.
The fix caches the scope only after challenge resource verification succeeds when verification is enabled. Rejected challenges no longer populate the cache. The existing option to disable challenge resource verification is unchanged; this fix does not add exact-origin binding.
Patch / fix
- crates.io azure_security_keyvault_certificates 1.0.1, 1.1.0-beta.2
- github.com/Azure/azure-sdk-for-rust#5121 pull request
- github.com/Azure/azure-sdk-for-rust#5125 pull request
- github.com/Azure/azure-sdk-for-rust#5410 pull request
Is RUSTSEC-2026-0437 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerAffected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| crates.io | azure_security_keyvault_certificates | >=0.9.0, <1.0.1 >=1.1.0-beta.0, <1.1.0-beta.2 |
1.0.1 1.1.0-beta.2 |
References
Sources
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.