Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconGain local system access with low privileges
-
DeliveryAuthenticate to application or service
-
ExploitTrigger shared key cache population
-
InstallManipulate cache key selection mechanism
-
C2Decrypt ciphertext with unintended cached key
-
ExecuteObtain alternate plaintext from same ciphertext
-
ImpactExtract sensitive data via multiple decryptions
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A04:2025 - Cryptographic Failures
ASVS 5.0
V11 - Cryptography Algorithm negotiation safety
|
| Exploitation Conditions | Exploitation requires three specific conditions to be met: (1) the application must use AWS Encryption SDK for Python versions 2.5.1, 3.3.0, or 4.0.4 or earlier; (2) the application must have key caching enabled and share the cache across multiple authenticated users, multiple requests, or multiple decryption contexts; (3) the attacker must have authenticated credentials to access the application and local system access to interact with the cached key material or trigger decryption operations. The vulnerability cannot be exploited against applications with caching disabled, single-user applications, or single-request cache isolation. Authentication is mandatory (PR:L in CVSS vector); unauthenticated remote exploitation is not possible. |
| Impact | This vulnerability presents moderate real-world risk despite the moderate CVSS score of 5.7. The attack requires local access (AV:L), high attack complexity (AC:H), and low privileges (PR:L) with a persistent attack timing requirement (AT:P), all of which significantly constrain exploitation compared to network-based attacks. However, the impact is severe: integrity is highly compromised (VI:H), meaning confidentiality guarantees of encrypted data are fundamentally broken for affected versions in shared-cache environments. The CVSS score of 5.7 appropriately reflects these constraints - the vulnerability is not trivial but is bounded by authentication and local access requirements. Real-world risk depends on deployment context: applications using shared key caches in multi-user environments (shared container instances, serverless platforms with warm starts, or shared worker pools) face higher risk than single-user deployments. The existence of vendor patches and the requirement for authenticated access suggest this is a targeted rather than widespread exploitation risk. No EPSS score, active exploitation (KEV), or public POC data are provided, indicating this remains a patch-adoption priority rather than an emergency response scenario. |
| Exploit ScenarioDerived | An authenticated attacker with local access to a system running AWS Encryption SDK for Python (e.g., a compromised application process, containerized workload on shared infrastructure, or authorized but malicious employee) exploits the shared key cache by manipulating which cached key is selected during decryption operations. By sending two identical ciphertexts to the vulnerable library with different cache states, the attacker causes the same ciphertext to decrypt to two different plaintexts, breaking the cryptographic binding and potentially extracting sensitive data that was encrypted under a different key than the one used in the decryption attempt. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Apr 20, 2026
Cryptographic algorithm downgrade in AWS Encryption SDK for Python's caching layer allows authenticated local attackers to bypass key commitment policy enforcement through a shared key cache, enabling decryption of single ciphertext to multiple different plaintexts. Affected versions include Python 2 up to 2.5.1, Python 3 up to 3.3.0, and Python 4 up to 4.0.4. AWS has released vendor patches (versions 3.3.1, 4.0.5, and later) to remediate the vulnerability, which requires local access and authenticated credentials but has no known public exploit.
RemediationAI
Upgrade AWS Encryption SDK for Python to version 3.3.1, 4.0.5, or above as released by AWS. For Python 2 users still in maintenance windows, contact AWS Support for guidance on the appropriate patch version for your environment. No workarounds are available for the underlying caching mechanism flaw. If immediate patching is not feasible, organizations should implement compensating controls by disabling key caching entirely (with awareness of performance trade-offs - each encryption/decryption operation will require full key derivation or KMS calls, increasing latency), isolating key caches to single-user or single-request scopes to prevent cross-user cache poisoning, or segregating applications using shared caching into separate processes or containers to eliminate cache sharing vectors. Verify patch deployment by confirming version numbers in your Python environment (pip show aws-encryption-sdk or equivalent) and reviewing AWS security bulletin 2026-017 and GitHub release notes at https://github.com/aws/aws-encryption-sdk-python/releases/tag/v4.0.5 and https://github.com/aws/aws-encryption-sdk-python/releases/tag/v3.3.1.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in pypi, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The AWS Encryption SDK for Python implements cryptographic operations with key commitment policies to ensure that encrypted data binds to a specific decryption key, preventing key confusion attacks. The vulnerability resides in the caching layer (CWE-757: Selection of Less-Secure Cryptographic Algorithm) where cached key material may be leveraged to downgrade the effective cryptographic algorithm protections. When applications share a key cache across authenticated users or contexts, an authenticated local threat actor can manipulate cache behavior to bypass policy enforcement mechanisms, effectively allowing the same ciphertext to decrypt to different plaintexts depending on which cached key is selected during decryption. This breaks the cryptographic guarantee that each ciphertext is bound to exactly one plaintext under a given key.
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
CVSS:4.0/AV:L/AC:H/AT:P/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
Primary rating from NVD · only source for this CVE.
CVSS VectorNVD
Lifecycle Timeline
3DescriptionCVE.org
Cryptographic algorithm downgrade in the caching layer of Amazon AWS Encryption SDK for Python before version 3.3.1 and before version 4.0.5 might allow an authenticated local threat actor to bypass key commitment policy enforcement via a shared key cache, resulting in ciphertext that can be decrypted to multiple different plaintexts.
To remediate this issue, users should upgrade to version 3.3.1, 4.0.5 or above.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Loom for AWS deployments running a version before 1.6.1 with no identity provider configured expose an unauthenticated s
Unauthorized data access in Budibase low-code platform before 3.30.4 allows unauthenticated users to manipulate internal
Authenticated Typebot users can abuse the webhook block (HTTP Request component) in versions prior to 3.13.1 to issue ar
Multiple vulnerabilities in ASTPP 4.0.1 including XSS and command injection in SIP device configuration and plugin manag
Remote code execution in Amazon awslabs postgres-mcp-server before 1.1.7 lets remote actors run arbitrary OS commands on
Remote code execution in AWS AgentCore CLI before v0.14.2 allows authenticated attackers to inject Python code via craft
Denial of service in the aws-smithy-json Rust runtime crate (versions before 0.62.7) lets remote unauthenticated attacke
Denial of service in Amazon's aws-smithy-http-server Rust crate (versions prior to 0.66.5) lets remote unauthenticated a
Argument injection in the AWS Bedrock AgentCore Python SDK before 1.18.1 lets a remote authenticated user run arbitrary
Arbitrary file read in amazon-mq rabbitmq-aws before 0.2.1 allows authenticated remote users to read any file accessible
WAF managed-rule body inspection on AWS Application Load Balancer (ALB) can be bypassed by remote actors who fragment an
WAF inspection bypass in Amazon CloudFront (with AWS WAF enabled) lets remote actors smuggle malicious request bodies pa
EUVD-2026-23943
GHSA-v638-38fc-rhfv
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB