Amazon S3 Encryption Client for Java Key Commitment Vulnerability
Vulnerability
A key commitment vulnerability has been identified in the Amazon S3 Encryption Client for Java, specifically in versions prior to 3.5.0. This issue allows a user with write access to an S3 bucket to replace the encrypted data key (EDK) with a rogue key that decrypts to a different plaintext. The vulnerability arises when the EDK is stored in an 'Instruction File' rather than in S3's metadata, exposing it to an 'Invisible Salamanders' attack. Exploiting this flaw could lead to unauthorized decryption of sensitive data.
Impact
The lack of key commitment in versions through 3.5.0 of the S3 Encryption Client for Java could allow for the replacement of an encrypted data key with a rogue key, enabling the decryption of encrypted messages into different plaintexts. This could result in unauthorized access to sensitive information.
Remediation
To address this vulnerability, users should upgrade the Amazon S3 Encryption Client for Java to version 4.0.0 or later. Version 4.0.0 introduces key commitment, ensuring that the EDK is cryptographically bound to the ciphertext. For instructions on upgrading, refer to the migration guide available in the release notes.
Vulnerability Rating
Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.
