Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessRun or compromise application on parent EC2 instance
-
DeliverySend crafted SetClient/Decrypt messages over vsock
-
ExploitTrigger use-after-free and double-free in handler
-
ExecutionCorrupt enclave heap memory
-
ImpactAchieve arbitrary code execution inside enclave
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Memory lifecycle management
MITRE ATT&CK
2 techniques across 2 tactics: Execution, Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires (1) the targeted enclave image to include the kmstool-enclave sample application or code derived from it - the aws-nitro-enclaves-sdk-c library by itself is not affected; (2) the attacker to be able to run an application on the parent EC2 instance (PR:L) that can send control messages to the enclave over the vsock channel (AV:L, local to that instance); and (3) a crafted ordered sequence of SetClient and Decrypt messages rather than a single request (AC:H). Exploitation is limited to the affected versions (<= v0.4.5); AWS confirms no cross-instance, cross-account or cross-tenant access is possible, so the impact is contained to the enclave reachable from that parent instance. There are no workarounds - only rebuilding against v0.4.6 remediates the issue. |
| Impact | The vendor-supplied CVSS 4.0 base score is 8.7 (High) with vector AV:L/AC:H/AT:N/PR:L/UI:N and high confidentiality, integrity and availability impact on both the vulnerable system (VC/VI/VA:H) and a subsequent system (SC/SI:H, SA:L). The signals are mixed rather than screaming emergency: the attack vector is local (AV:L) via the vsock channel, attack complexity is high (AC:H, a crafted *sequence* of SetClient and Decrypt messages is needed), and the attacker needs low privileges (PR:L) - specifically the ability to run an application on the parent EC2 instance. There is no CISA KEV listing (status: not confirmed actively exploited), no EPSS score was provided, and no public exploit identified at time of analysis; the issue was found through coordinated disclosure with Trail of Bits. The vuln.today decision label is 'this_week', not act_now/emergency, which is consistent with a serious-but-not-actively-exploited patch-promptly posture. What elevates the real-world importance beyond the raw local vector is the trust model: Nitro Enclaves exist precisely to be protected from a compromised or malicious parent instance, and this flaw lets code on the parent corrupt heap memory inside the enclave and potentially achieve code execution there - breaking exactly the boundary the product is sold to enforce. Against that, the footprint is narrow (only enclave images that bundle kmstool-enclave or code derived from it are affected; the SDK library itself is not), AWS confirms no cross-instance, cross-account or cross-tenant access, and AC:H plus the need for a parent-instance foothold limit opportunistic attacks. Net: a genuine priority for the specific population running kmstool-enclave-based enclaves, but not a broad, wormable internet-facing threat. EPSS and KEV data are absent, so widespread-exploitation probability cannot be quantified from the input. |
| Exploit ScenarioDerived | A malicious or already-compromised application running on the parent EC2 instance sends a crafted sequence of SetClient and Decrypt control messages over vsock to a Nitro Enclave that includes kmstool-enclave. The messages trigger a use-after-free and double-free (CWE-416/CWE-415) that corrupts heap memory inside the enclave, which may lead to arbitrary code execution within the enclave's protected boundary. No public exploit identified at time of analysis; because attack complexity is high (AC:H), the attacker must send a specific ordered sequence rather than a single message. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv2 – Oct 30, 2026
Heap memory corruption inside AWS Nitro Enclaves built from the kmstool-enclave sample application: an application running on the parent EC2 instance can send a crafted ordered sequence of SetClient and Decrypt control messages over vsock and trigger a use-after-free and double-free in the enclave's heap (CWE-416/CWE-415), potentially achieving arbitrary code execution within the enclave. Only enclave images that include kmstool-enclave or code derived from it are affected, in aws-nitro-enclaves-sdk-c versions up to and including v0.4.5; the SDK library itself is not affected and AWS states that no cross-instance, cross-account or cross-tenant access is possible. The issue is fixed in v0.4.6, no workarounds exist, and no public exploit code was identified at time of analysis.
Earlier versions of this analysis (1)
Heap memory corruption inside an AWS Nitro Enclave can be triggered by an attacker-controlled application running on the parent EC2 instance, via crafted SetClient and Decrypt control messages sent over vsock to kmstool-enclave versions up to and including 0.4.5. Only enclave images that actually bundle kmstool-enclave (or code derived from it) are exposed; the underlying aws-nitro-enclaves-sdk-c library is not itself affected, and the vendor states no cross-instance, cross-account or cross-tenant access is possible. Successful corruption could lead to arbitrary code execution within the enclave, though exploitation requires a crafted message sequence (AC:H) and prior local presence on the parent instance; there is no confirmed active exploitation, no KEV listing, and no verified working public exploit code - only a public advisory with a coordinated-disclosure credit to Trail of Bits.
RemediationAI
Vendor-released patch: aws-nitro-enclaves-sdk-c v0.4.6. AWS states there are no workarounds - updating is the only complete fix - so any enclave image that includes kmstool-enclave, or code derived from it, must be rebuilt against v0.4.6 and redeployed; simply upgrading a host-side package without rebuilding the enclave image leaves the vulnerable handler inside the running enclave. Teams maintaining forks or in-house variants of the SetClient handler must port the corresponding fix, since the advisory explicitly asks that forked or derivative code incorporate the new fixes. Note that v0.4.6 also addresses CVE-2026-119148 (region validation before endpoint host-name construction, GHSA-f6f6-6f88-r57j), so rebuilding picks up both. Detect affected deployments by scanning enclave image build inputs for the kmstool-enclave sample or copies of its SetClient handler rather than for the SDK library alone, since the library by itself is not vulnerable. Consult the advisory at https://github.com/aws/aws-nitro-enclaves-sdk-c/security/advisories/GHSA-cfhm-qfw4-j7qq, the AWS bulletin at https://aws.amazon.com/security/security-bulletins/2026-157-aws/, and the release at https://github.com/aws/aws-nitro-enclaves-sdk-c/releases/tag/v0.4.6.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
AWS Nitro Enclaves are isolated compute environments on EC2 that communicate with their parent instance over a vsock channel. The aws-nitro-enclaves-sdk-c project supplies a C library plus example tools, and the kmstool-enclave sample application implements command handlers - SetClient and Decrypt - for KMS operations performed under cryptographic attestation. The defect is a memory-management error in the SetClient command handler: the v0.4.6 release notes describe it as a 'use-after-free on SetClient region failure', with advisory classification CWE-415 (double free) and CWE-416 (use after free). A region-handling failure path leaves a heap pointer freed but still reachable, so subsequent operations can free or dereference it again; hostile SetClient messages from the parent instance, sequenced with Decrypt messages, corrupt the enclave-side heap. Because the corruption occurs inside the enclave, the security boundary the enclave is meant to enforce is what is at risk, which is why the CVSS scope is changed (S:C) and why the vendor reports no cross-tenant exposure - the attacker must already be positioned on the parent instance that owns the enclave. The same v0.4.6 release also carries hardening for a separate region-validation flaw (CVE-2026-119148, GHSA-f6f6-6f88-r57j) and for EncryptionContext JSON parsing, CMS buffer zeroing and pointer initialization on error paths. CPE cpe:2.3:a:aws:kmstool-enclave captures the affected component.
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:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:L
Triggered locally over vsock from the parent instance (AV:L) with low privileges (PR:L) via a crafted message sequence (AC:H); crosses the parent/enclave trust boundary (S:C) with full code-execution impact (C/I/A:H).
Primary rating from Vendor (AMZN).
CVSS VectorVendor: AMZN
Lifecycle Timeline
3DescriptionCVE.org
A use-after-free and double-free issue in the SetClient command handler of the kmstool-enclave sample application of AWS aws-nitro-enclaves-sdk-c before 0.4.6 may allow an application that runs on the parent EC2 instance to corrupt heap memory inside a Nitro Enclave which may lead to arbitrary code execution within the enclave.
To remediate this issue, users should rebuild any enclave image that includes kmstool-enclave, or code derived from it, against aws-nitro-enclaves-sdk-c 0.4.6.
Technical POC Analysis
The defect is a use-after-free (CWE-416) that also manifests as a double-free (CWE-415), located in the SetClient command handler of the kmstool-enclave sample application shipped in aws-nitro-enclav…
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
A high-severity memory corruption vulnerability in AWS Nitro Enclaves built from the kmstool-enclave sample application could allow an attacker with access to the parent EC2 instance to execute arbitrary code within the enclave. This impacts organizations using enclaves for sensitive workloads, potentially compromising data confidentiality and integrity, though AWS confirms no cross-tenant risk. Leadership should prioritize patching affected enclave images to prevent potential insider or compromised-instance attacks.
Apply vendor patch.
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
Use-after-free vulnerabilities occur when a program continues to access memory through a pointer after that memory has been deallocated.
Memory corruption occurs when a program writes data beyond the boundaries of allocated memory regions or accesses memory in unintended ways, violating the integrity of the process's address space.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
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-114183
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB