Key Caching behavior in the DynamoDB Encryption ClientGHSA-w736-hf9p-qqh3
Fix: aws/aws-dynamodb-encryption-java@7de5f5aGHSA-w736-hf9p-qqh3 is a security vulnerability in com.amazonaws:aws-dynamodb-encryption-java. A fix is available for com.amazonaws:aws-dynamodb-encryption-java — see the affected versions and patch details below.
Real-World Exposure
com.amazonaws:aws-dynamodb-encryption-javaReal-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 concerns users of MostRecentProvider in the DynamoDB Encryption Client with a key provider like AWS Key Management Service that allows for permissions on keys to be modified.
When key usage permissions were changed at the key provider, time-based key reauthorization logic in MostRecentProvider did not reauthorize the use of the key. This created the potential for keys to be used in the DynamoDB Encryption Client after permissions to do so were revoked at the key provider.
Patches
Fixed as of 1.15.0. We recommend users to modify their code and adopt CachingMostRecentProvider.
Workarounds
Users who cannot upgrade to use the CachingMostRecentProvider can call clear() on the cache to manually flush all of its contents. Next use of the key will force a re-validation to occur with the key provider.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| ☕Maven | com.amazonaws:aws-dynamodb-encryption-java | all versions | 1.15.0com.amazonaws:aws-dynamodb-encryption-java:1.15.0 |
Detection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for com.amazonaws:aws-dynamodb-encryption-java, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update com.amazonaws:aws-dynamodb-encryption-java to 1.15.0 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms GHSA-w736-hf9p-qqh3 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-w736-hf9p-qqh3 in your dependencies?
Find it across Maven, including transitive dependencies.