Skip to content

Commit 74e2ee2

Browse files
jasnowRubySec CI
authored andcommitted
Updated advisory posts against rubysec/ruby-advisory-db@4b5ad6b
1 parent 072449d commit 74e2ee2

File tree

1 file changed

+87
-0
lines changed

1 file changed

+87
-0
lines changed
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
---
2+
layout: advisory
3+
title: 'CVE-2025-14762 (aws-sdk-s3): AWS SDK for Ruby''s S3 Encryption Client has
4+
a Key Commitment Issue'
5+
comments: false
6+
categories:
7+
- aws-sdk-s3
8+
advisory:
9+
gem: aws-sdk-s3
10+
cve: 2025-14762
11+
ghsa: 2xgq-q749-89fq
12+
url: https://github.com/aws/aws-sdk-ruby/security/advisories/GHSA-2xgq-q749-89fq
13+
title: AWS SDK for Ruby's S3 Encryption Client has a Key Commitment Issue
14+
date: 2025-12-18
15+
description: |
16+
## Summary
17+
18+
S3 Encryption Client for Ruby is an open-source client-side encryption
19+
library used to facilitate writing and reading encrypted records to S3.
20+
21+
When the encrypted data key (EDK) is stored in an "Instruction File"
22+
instead of S3's metadata record, the EDK is exposed to an "Invisible
23+
Salamanders" attack (https://eprint.iacr.org/2019/016), which could
24+
allow the EDK to be replaced with a new key.
25+
26+
## Impact
27+
28+
### Background - Key Commitment
29+
30+
There is a cryptographic property whereby under certain conditions,
31+
a single ciphertext can be decrypted into 2 different plaintexts by
32+
using different encryption keys. To address this issue, strong
33+
encryption schemes use what is known as "key commitment", a process
34+
by which an encrypted message can only be decrypted by one key;
35+
the key used to originally encrypt the message.
36+
37+
In older versions of S3EC, when customers are also using a feature
38+
called "Instruction File" to store EDKs, key commitment is not
39+
implemented because multiple EDKs could be associated to an underlying
40+
encrypted message object. For such customers an attack that leverages
41+
the lack of key commitment is possible. A bad actor would need two
42+
things to leverage this issue:
43+
(i) the ability to create a separate, rogue, EDK that will also
44+
decrypt the underlying object to produce desired plaintext, and
45+
(ii) permission to upload a new instruction file to the S3 bucket
46+
to replace the existing instruction file placed there by the
47+
user using the S3C. Any future attempt to decrypt the
48+
underlying encrypted message with the S3EC will unwittingly
49+
use the rogue EDK to produce a valid plaintext message.
50+
51+
### Impacted versions: <= 1.207.0
52+
53+
## Patches
54+
55+
We are introducing the concept of "key commitment\" to S3EC where the
56+
EDK is cryptographically bound to the ciphertext in order to address
57+
this issue. In order to maintain compatibility for in-flight messages
58+
we are releasing the fix in two versions. A code-compatible minor
59+
version that can read messages with key-commitment but not write them,
60+
and a new major version that can both read and write messages with
61+
key-commitment. For maximum safety customers are asked to upgrade to
62+
the latest major version: 1.208.0 or later.
63+
64+
### Workarounds
65+
66+
There are no workarounds, please upgrade to the suggested version of S3EC.
67+
68+
### References
69+
70+
If customers have any questions or comments about this advisory,
71+
AWS SDK for Ruby asks that they contact AWS Security via the issue
72+
reporting page or directly via email to
73+
74+
Please do not create a public GitHub issue.
75+
cvss_v3: 5.3
76+
cvss_v4: 6.0
77+
patched_versions:
78+
- ">= 1.208.0"
79+
related:
80+
url:
81+
- https://nvd.nist.gov/vuln/detail/CVE-2025-14762
82+
- https://rubygems.org/gems/aws-sdk-s3/versions/1.208.0
83+
- https://github.com/aws/aws-sdk-ruby/security/advisories/GHSA-2xgq-q749-89fq
84+
- https://github.com/aws/aws-sdk-ruby/commit/b633ba10cd2fbc4cc770b76ab531ed9647654044
85+
- https://aws.amazon.com/security/security-bulletins/AWS-2025-032
86+
- https://github.com/advisories/GHSA-2xgq-q749-89fq
87+
---

0 commit comments

Comments
 (0)