CVE-2020-8911: Use of a Broken or Risky Cryptographic Algorithm
(updated )
A padding oracle vulnerability exists in the AWS S3 Crypto SDK for GoLang versions prior to V2. The SDK allows users to encrypt files with AES-CBC without computing a Message Authentication Code (MAC), which then allows an attacker who has write access to the target’s S3 bucket and can observe whether or not an endpoint with access to the key can decrypt a file, they can reconstruct the plaintext with (on average) 128*length (plaintext) queries to the endpoint, by exploiting CBC’s ability to manipulate the bytes of the next block and PKCS5 padding errors. It is recommended to update your SDK to V2 or later, and re-encrypt your files.
References
- aws.amazon.com/blogs/developer/updates-to-the-amazon-s3-encryption-client/?s=09
- bugzilla.redhat.com/show_bug.cgi?id=1869800
- github.com/advisories/GHSA-f5pg-7wfw-84q9
- github.com/aws/aws-sdk-go/commit/1e84382fa1c0086362b5a4b68e068d4f8518d40e
- github.com/aws/aws-sdk-go/commit/ae9b9fd92af132cfd8d879809d8611825ba135f4
- github.com/aws/aws-sdk-go/pull/3403
- github.com/google/security-research/security/advisories/GHSA-f5pg-7wfw-84q9
- github.com/sophieschmieg/exploits/tree/master/aws_s3_crypto_poc
- nvd.nist.gov/vuln/detail/CVE-2020-8911
- pkg.go.dev/vuln/GO-2022-0646
Detect and mitigate CVE-2020-8911 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →