Skip to main content

AWS SDK for Ruby CVE-2025-14762

MEDIUM
Use of a Broken or Risky Cryptographic Algorithm (CWE-327)
2025-12-17 ff89ba41-3aa1-4d27-914a-91399e9639e5
6.0
CVSS 4.0 · Vendor: ff89ba41-3aa1-4d27-914a-91399e9639e5
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain write access to S3 bucket
  2. Delivery
    Craft rogue EDK decrypting object to chosen plaintext
  3. Exploit
    Upload replacement instruction file
  4. Execution
    Victim app reads object via S3EC
  5. Impact
    Attacker-chosen plaintext accepted as valid

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A04:2025 - Cryptographic Failures
ASVS 5.0
V11 - Cryptography Approved algorithm selection
Exploitation Conditions

Three concrete conditions must all hold: (1) the application uses the AWS SDK for Ruby S3 Encryption Client (aws-sdk-s3 gem) at version <= 1.207.0 for client-side encryption; (2) EDKs are stored using the optional 'Instruction File' mode rather than S3 object metadata - this is the specific feature that lacks key commitment; and (3) the attacker already possesses write (PutObject) permission on the target S3 bucket to overwrite the instruction file, plus the ability to construct a rogue EDK that decrypts the existing ciphertext to desired plaintext (CVSS AT:P). Deployments using metadata-stored EDKs, or without an attacker holding bucket write access, are not exploitable. There are no workarounds other than upgrading to 1.208.0 or later.

Impact

This is a genuine but low-urgency, highly conditional cryptographic weakness, not a high-priority alarm. The vendor CVSS 4.0 vector (6.0, AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:H/VA:N) correctly scores it as an integrity-only issue (VI:H) with no confidentiality or availability impact - the attacker swaps in a rogue encrypted data key so a victim later decrypts attacker-chosen plaintext. Note AT:P (attack requirement 'present') and PR:L: the attacker must already hold write permission to the S3 bucket and the deployment must use the optional 'Instruction File' EDK-storage mode, plus must craft a rogue EDK that validly decrypts the object - a non-trivial precondition set. EPSS is low at 0.21% (10th percentile), there is no CISA KEV listing, and no public exploit code is identified; the Invisible Salamanders class attack is academically well-documented (eprint.iacr.org/2019/016) but no weaponized PoC against this gem is published. Signals are consistent: moderate CVSS driven by integrity impact, low EPSS, no KEV - this is a real but narrow defense-in-depth fix, prioritized for anyone using S3EC Instruction File mode rather than an emergency. One labeling conflict: the input Tag 'Information Disclosure' contradicts the vector (VC:N, VI:H), so this should be classed as a data-integrity/tampering issue, not disclosure.

Exploit ScenarioDerived

An attacker who already has write access to an S3 bucket that stores client-side-encrypted objects using the Ruby S3 Encryption Client in 'Instruction File' mode crafts a rogue encrypted data key that still decrypts the existing ciphertext to a plaintext of their choosing. They upload a replacement instruction file; when the legitimate application next reads the object, S3EC uses the rogue EDK and silently returns the attacker-controlled plaintext. No public exploit code exists, though the underlying 'Invisible Salamanders' technique is published research.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 01, 2026

Incorrect decryption of client-side encrypted S3 objects in AWS SDK for Ruby versions through 1.207.0 allows an authenticated attacker with PutObject permission on the target S3 bucket to replace the encrypted data key (EDK) stored in an S3 instruction file with a rogue EDK that decrypts the same ciphertext to attacker-chosen plaintext. Exploitation requires the application to use the S3 Encryption Client's optional instruction-file mode for EDK storage rather than S3 object metadata; AWS has released a fix in aws-sdk-s3 1.208.0. EPSS is 0.21% (10th percentile) and no public exploit code has been identified at time of analysis, making this a low-urgency, highly conditional cryptographic weakness rather than an immediate threat.

RemediationAI

Upgrade the aws-sdk-s3 gem to version 1.208.0 or later, which introduces key commitment and can both read and write commitment-bound messages; note that 1.208.0 is a new major version, so review for compatibility. The upstream fix is also available via commit b633ba10cd2fbc4cc770b76ab531ed9647654044 (https://github.com/aws/aws-sdk-ruby/commit/b633ba10cd2fbc4cc770b76ab531ed9647654044). AWS states there are no workarounds. As compensating controls if immediate upgrade is not possible: reconfigure applications to store EDKs in S3 object metadata instead of instruction files (this avoids the vulnerable code path but may require code changes and re-encryption of existing objects), and/or strictly limit S3 PutObject permissions on buckets containing client-side encrypted objects to trusted principals only (trade-off: tighter permissions may disrupt legitimate write workflows and does not fully eliminate the risk if an attacker already has write access). Monitor for unexpected or unauthorized instruction-file uploads as a detection measure. See the AWS bulletin and GHSA advisory for full details.

Affected Packages

rubygems aws-sdk-s3 fix: 1.208.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in rubygems

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The AWS SDK for Ruby's S3 Encryption Client implements envelope encryption, where a data key encrypts the object and an encrypted data key (EDK) is stored either in the S3 object's metadata or in a separate instruction file. In affected versions (<= 1.207.0), when EDKs are stored in instruction files, the library does not cryptographically bind the EDK to the ciphertext-a missing key commitment (CWE-327). This enables an 'Invisible Salamanders' attack (eprint 2019/016): because a single ciphertext can be decrypted to different plaintexts under different keys, an attacker who can write to the bucket can overwrite the instruction file with a rogue EDK that decrypts the existing ciphertext to arbitrary plaintext. The CVSS 4.0 vector AV:N/AC:L/AT:P/PR:L/UI:N/VI:H and independent CVSS 3.1 assessment AV:N/AC:H/PR:L/UI:N/I:H reflect that the attack requires specific preconditions (instruction-file mode, bucket write access, ability to craft a rogue EDK) and primarily impacts integrity of decrypted data, not confidentiality or availability.

Know when AWS gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (ff89ba41-3aa1-4d27-914a-91399e9639e5) PRIMARY 6.0 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
vuln.today AI 5.3 MEDIUM

Attacker needs bucket write (PR:L) and must craft a valid rogue EDK under non-default Instruction File mode (AC:H); impact is integrity-only (I:H), no confidentiality or availability.

3.1 AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:N
4.0 AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
Red Hat 5.3 MEDIUM

Primary rating from Vendor (ff89ba41-3aa1-4d27-914a-91399e9639e5).

CVSS VectorVendor: ff89ba41-3aa1-4d27-914a-91399e9639e5

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

Missing cryptographic key commitment in the AWS SDK for Ruby may allow a user with write access to the S3 bucket to introduce a new EDK that decrypts to different plaintext when the encrypted data key is stored in an "instruction file" instead of S3's metadata record.

To mitigate this issue, upgrade AWS SDK for Ruby to version 1.208.0 or later.

Threat Intelligence Overview

EPSS Score
0.2%
Top 90% exploitable
Prevalence
Medium
AWS SDK Ruby S3 gem is widely used, but the vulnerable S3EC Instruction File mode is a niche opt-in feature
Data Quality
4 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

30
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +30
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

More in AWS

View all
CVE-2026-103956 CRITICAL POC
10.0 Oct 02

Loom for AWS deployments running a version before 1.6.1 with no identity provider configured expose an unauthenticated s

CVE-2026-27702 CRITICAL POC
9.9 Feb 25

Unauthorized data access in Budibase low-code platform before 3.30.4 allows unauthenticated users to manipulate internal

CVE-2025-64709 CRITICAL POC
9.9 Nov 13

Authenticated Typebot users can abuse the webhook block (HTTP Request component) in versions prior to 3.13.1 to issue ar

CVE-2020-37153 CRITICAL POC
9.8 Feb 11

Multiple vulnerabilities in ASTPP 4.0.1 including XSS and command injection in SIP device configuration and plugin manag

CVE-2026-54378 CRITICAL POC
9.3 Nov 04

Broken access control in the VitaFit cloud API before the 2026-10-30 fix lets any authenticated account holder call POST

CVE-2026-87911 CRITICAL POC
9.0 Sep 09

Remote code execution in Amazon awslabs postgres-mcp-server before 1.1.7 lets remote actors run arbitrary OS commands on

CVE-2026-11393 HIGH POC
8.8 Jun 08

Remote code execution in AWS AgentCore CLI before v0.14.2 allows authenticated attackers to inject Python code via craft

CVE-2026-18140 HIGH POC
8.7 Jul 30

Denial of service in the aws-smithy-json Rust runtime crate (versions before 0.62.7) lets remote unauthenticated attacke

CVE-2026-16756 HIGH POC
8.7 Jul 23

Denial of service in Amazon's aws-smithy-http-server Rust crate (versions prior to 0.66.5) lets remote unauthenticated a

CVE-2026-16796 HIGH POC
8.4 Jul 23

Argument injection in the AWS Bedrock AgentCore Python SDK before 1.18.1 lets a remote authenticated user run arbitrary

CVE-2026-9133 HIGH POC
8.3 May 20

Arbitrary file read in amazon-mq rabbitmq-aws before 0.2.1 allows authenticated remote users to read any file accessible

CVE-2026-13763 HIGH POC
7.9 Jun 29

WAF managed-rule body inspection on AWS Application Load Balancer (ALB) can be bypassed by remote actors who fragment an

Vendor StatusVendor

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy