title: Exposure of unencrypted plaintext hash in github.com/aws/aws-sdk-go
description: 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.
problem types: CWE 311: Missing Encryption of Sensitive Data
affected:
{
vendor: github.com/aws/aws-sdk-go
product: github.com/aws/aws-sdk-go/service/s3/s3crypto
collectionURL: https://pkg.go.dev
packageName: github.com/aws/aws-sdk-go/service/s3/s3crypto
versions:
version: 0, lessThan: 1.34.0, status: affected, versionType: semver
programRoutines:
name: encodeMeta
name: DecryptionClient.GetObject
name: DecryptionClient.GetObjectWithContext
name: EncryptionClient.PutObject
name: EncryptionClient.PutObjectWithContext
name: S3LoadStrategy.Load
name: S3SaveStrategy.Save
name: defaultV2LoadStrategy.Load
name: kmsKeyHandler.DecryptKey
name: kmsKeyHandler.DecryptKeyWithContext
name: kmsKeyHandler.GenerateCipherData
name: kmsKeyHandler.GenerateCipherDataWithContext
defaultStatus: unaffected
}