What’s Vulnerable › Vulnerabilities
CVE-2020-8911: CBC padding oracle in AWS S3 Crypto SDK for GoLang
- Severity: medium (CVSS 5.6 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.3% probability of exploitation in the next 30 days
- Public exploit or detection template: yes
- Published: 2020-08-11 · updated 2026-06-17
- Weakness: CWE-327
Description
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.
Affected products
- Google LLC AWS S3 Crypto SDK for GoLang: before 2.0 — fixed in 2.0
- Go Github.Com/Aws/Aws-Sdk-Go: all versions
How to fix
Upgrade to a fixed version: Google LLC AWS S3 Crypto SDK for GoLang 2.0. Check the vendor advisory for mitigations.
References
- https://aws.amazon.com/blogs/developer/updates-to-the-amazon-s3-encryption-client/?s=09
- https://github.com/google/security-research/security/advisories/GHSA-f5pg-7wfw-84q9
- https://aws.amazon.com/blogs/developer/updates-to-the-amazon-s3-encryption-client/?s=09
- https://github.com/google/security-research/security/advisories/GHSA-f5pg-7wfw-84q9
Get alerted when CVE-2020-8911 or the next vulnerability affects your stack