GitHub Advisoryadvisory · Maven
GHSA-72fp-w44g-625q Signing DynamoDB Sets when using the AWS Database Encryption SDK.
LOW
Official page ↗
- Ecosystem
- Maven
- Packages
- software.amazon.cryptography:aws-database-encryption-sdk-dynamodb
- Severity
- Low
- Reviewed
- 2023-11-09
Affected packages
• Maven software.amazon.cryptography:aws-database-encryption-sdk-dynamodb: >= 3.0.0, < 3.1.1 → fixed in 3.1.1
Description
Impact
This advisory addresses an issue when a DynamoDB Set attribute is marked as SIGN_ONLY in the AWS Database Encryption SDK (DB-ESDK) for DynamoDB. This also includes when a Set is part of a List or a Map.
DB-ESDK for DynamoDB supports `SIGN_ONLY` and `ENCRYPT_AND_SIGN` attribute actions. In version 3.1.0 and below, when a Set type is assigned a `SIGN_ONLY` attribute action, there is a chance that signature validation of the record containing a Set will fail on read, even if the Set attributes contain the same values. The probability of a failure depends on the order of the elements in the Set combined with how DynamoDB returns this data, which is undefined.
This update addresses the issue by ensuring that any Set values are canonicalized in the same order while written to DynamoDB as when read back from DynamoDB.
Patches
Fixed in version 3.1.1
We recommend all users upgrade as soon as possible.
Workarounds
None
References
For more information on how to address records with Sets marked as `SIGN_ONLY` written by versions 3.1.0 and below of DB-ESDK, see AWS Database Encryption SDK Decrypt with Permute
References
- https://github.com/aws/aws-database-encryption-sdk-dynamodb-java/security/advisories/GHSA-72fp-w44g-625q web
- https://github.com/aws/aws-database-encryption-sdk-dynamodb-java/commit/e3aa016895a3e2533b9a3c1ec88458d6667b3245 web
- https://github.com/aws/aws-database-encryption-sdk-dynamodb-java package
- https://github.com/aws/aws-database-encryption-sdk-dynamodb-java/releases/tag/v3.1.1 web