Key Caching behavior in the DynamoDB Encryption Client.
Low severity
GitHub Reviewed
Published
Feb 4, 2021
in
aws/aws-dynamodb-encryption-java
•
Updated Jan 9, 2023
Package
Affected versions
< 1.15.0
Patched versions
1.15.0
Description
Reviewed
Feb 5, 2021
Published to the GitHub Advisory Database
Feb 8, 2021
Last updated
Jan 9, 2023
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 callclear()
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.References