GMS-2023-4168: Signing DynamoDB Sets when using the AWS Database Encryption SDK.
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
- github.com/advisories/GHSA-72fp-w44g-625q
- github.com/aws/aws-database-encryption-sdk-dynamodb-java/commit/e3aa016895a3e2533b9a3c1ec88458d6667b3245
- github.com/aws/aws-database-encryption-sdk-dynamodb-java/releases/tag/v3.1.1
- github.com/aws/aws-database-encryption-sdk-dynamodb-java/security/advisories/GHSA-72fp-w44g-625q
Detect and mitigate GMS-2023-4168 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →