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) *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.
CPE | Name | Operator | Version |
---|---|---|---|
go/github.com/aws/aws-sdk-go/service/s3/s3crypto | lt | 1.34.0 |
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