Signing DynamoDB Sets when using the AWS Database Encryption SDKGHSA-72fp-w44g-625q
Fix: aws/aws-database-encryption-sdk-dynamodb-java@e3aa016GHSA-72fp-w44g-625q is a security vulnerability in software.amazon.cryptography:aws-database-encryption-sdk-dynamodb. A fix is available for software.amazon.cryptography:aws-database-encryption-sdk-dynamodb — see the affected versions and patch details below.
Real-World Exposure
software.amazon.cryptography:aws-database-encryption-sdk-dynamodbReal-time download stats are indexed for npm and PyPI packages. This vulnerability affects Maven packages — download data is not available via public APIs for these ecosystems.
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
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| ☕Maven | software.amazon.cryptography:aws-database-encryption-sdk-dynamodb | ≥ 3.0.0&&< 3.1.1 | 3.1.1software.amazon.cryptography:aws-database-encryption-sdk-dynamodb:3.1.1 |
Detection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for software.amazon.cryptography:aws-database-encryption-sdk-dynamodb, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update software.amazon.cryptography:aws-database-encryption-sdk-dynamodb to 3.1.1 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms GHSA-72fp-w44g-625q is resolved across your whole dependency graph.
Workarounds
If you can't upgrade right away: gate or disable the affected feature, validate untrusted input at the boundary, and avoid passing attacker-controlled data into the vulnerable path. O3's runtime protection blocks exploitation in production as an interim safeguard until the upgrade lands.
Frequently Asked Questions
Is GHSA-72fp-w44g-625q in your dependencies?
Find it across Maven, including transitive dependencies.