AWS SDK for Rust will log AWS credentials when TRACE-level logging is enabled for request sending
Package
Affected versions
0.55.0, 0.54.1, 0.53.1, 0.52.0, 0.51.0, 0.50.0, 0.49.0, 0.48.0, 0.47.0, 0.46.0, 0.15.0, 0.14.0, 0.13.0, 0.12.0, 0.11.0, 0.10.1, 0.9.0, 0.8.0, 0.7.0, 0.6.0, 0.5.2, 0.4.1, 0.3.0, 0.2.0
Patched versions
0.55.1, 0.54.2, 0.53.2, 0.52.1, 0.51.1, 0.49.1, 0.48.1, 0.47.1, 0.46.1, 0.15.1, 0.14.1, 0.13.1, 0.12.1, 0.11.1, 0.10.2, 0.9.1, 0.8.1, 0.7.1, 0.6.1, 0.5.3, 0.4.2, 0.3.1, 0.2.1
The
aws_sigv4::SigningParamsstruct had a derivedDebugimplementation. 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,SigningParamsis 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 theaws-sigv4crate specifically.Patches
0.55.10.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.1Workarounds
Disable TRACE-level logging for AWS Rust SDK crates.