The AWS S3 Crypto SDK sends an unencrypted hash of the plaintext alongside the ciphertext as a metadata field. This hash can be used to brute force the plaintext, if the hash is readable to the attacker.
AWS now blocks this metadata field, but older SDK versions still send it.
{ "review_status": "REVIEWED", "url": "https://pkg.go.dev/vuln/GO-2022-0391" }
{ "imports": [ { "path": "github.com/aws/aws-sdk-go/service/s3/s3crypto", "symbols": [ "DecryptionClient.GetObject", "DecryptionClient.GetObjectWithContext", "EncryptionClient.PutObject", "EncryptionClient.PutObjectWithContext", "S3LoadStrategy.Load", "S3SaveStrategy.Save", "defaultV2LoadStrategy.Load", "encodeMeta", "kmsKeyHandler.DecryptKey", "kmsKeyHandler.DecryptKeyWithContext", "kmsKeyHandler.GenerateCipherData", "kmsKeyHandler.GenerateCipherDataWithContext" ] } ] }