Vulnerability · Published Aug 11, 2020 · Assigned by Google
CVE-2020-8911CBC padding oracle in AWS S3 Crypto SDK for GoLang
Medium 5.6
In plain English
A medium-severity broken cryptography in AWS S3 Crypto SDK for GoLang from Google LLC. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.3% (higher than 28% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official 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 packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Go | github.com/aws/aws-sdk-go | 1.34.0 | GHSA-f5pg-7wfw-84q9 |
| Go | github.com/aws/aws-sdk-go | no fix listed | GO-2022-0646 |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| Google LLC | AWS S3 Crypto SDK for GoLang | stable – through V1 |
Weakness: CWE-327 · Vector: CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:N