AWS SDK for Rust will log AWS credentials when TRACE-level logging is enabled for request sendingGHSA-mjv9-vp6w-3rc9
MEDIUMGHSA-mjv9-vp6w-3rc9 is a medium-severity (CVSS 5.5) CWE-532 vulnerability in aws-sigv4. A fix is available for aws-sigv4 — see the affected versions and patch details below.
Exploitation Status
No confirmed exploitation observed yet
- CISA’s own triage has not observed active exploitation or public proof-of-concept code for this CVE as of its last assessment.
Exploitation and automatability from CISA’s SSVC triage for GHSA-mjv9-vp6w-3rc9.
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
How urgent is this, really
Where this sits among everything scored
Real-World Exposure
aws-sigv4🦀aws-sigv4🦀aws-sigv4🦀aws-sigv4🦀aws-sigv4🦀aws-sigv4🦀aws-sigv4🦀aws-sigv4+15 moreReal-time download stats are indexed for npm and PyPI packages. This vulnerability affects crates.io packages — download data is not available via public APIs for these ecosystems.
Description
The aws_sigv4::SigningParams struct had a derived Debug implementation. When debug-formatted, it would include a user's AWS access key, AWS secret key, and security token in plaintext. When TRACE-level logging is enabled for an SDK, SigningParams is printed, thereby revealing those credentials to anyone with access to logs.
Impact
All users of the AWS SDK for Rust who enabled TRACE-level logging, either globally (e.g. RUST_LOG=trace), or for the aws-sigv4 crate specifically.
Patches
- Versions >=
0.55.1 0.54.20.53.20.52.10.51.10.50.10.49.10.48.10.47.10.46.10.15.10.14.10.13.10.12.10.11.10.10.20.9.10.8.10.7.10.6.10.5.30.3.10.2.1
Workarounds
Disable TRACE-level logging for AWS Rust SDK crates.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 🦀crates.io | aws-sigv4 | ≥ 0.55.0&&< 0.55.1 | 0.55.1cargo update -p aws-sigv4 --precise 0.55.1 |
| 🦀crates.io | aws-sigv4 | ≥ 0.54.1&&< 0.54.2 | 0.54.2cargo update -p aws-sigv4 --precise 0.54.2 |
| 🦀crates.io | aws-sigv4 | ≥ 0.53.1&&< 0.53.2 | 0.53.2cargo update -p aws-sigv4 --precise 0.53.2 |
| 🦀crates.io | aws-sigv4 | ≥ 0.52.0&&< 0.52.1 | 0.52.1cargo update -p aws-sigv4 --precise 0.52.1 |
| 🦀crates.io | aws-sigv4 | ≥ 0.51.0&&< 0.51.1 | 0.51.1cargo update -p aws-sigv4 --precise 0.51.1 |
| 🦀crates.io | aws-sigv4 | ≥ 0.49.0&&< 0.49.1 | 0.49.1cargo update -p aws-sigv4 --precise 0.49.1 |
Affected Products
aws-sigv4amazonDetection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for aws-sigv4, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update aws-sigv4 to 0.55.1 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms GHSA-mjv9-vp6w-3rc9 is resolved across your whole dependency graph.
Workarounds
If you can't upgrade right away: gate or disable the affected feature, validate untrusted input at the boundary, and avoid passing attacker-controlled data into the vulnerable path. O3's runtime protection blocks exploitation in production as an interim safeguard until the upgrade lands.
Frequently Asked Questions
Is GHSA-mjv9-vp6w-3rc9 in your dependencies?
Find it across crates.io, including transitive dependencies.