Severity by source
CVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Attacker needs authenticated write access to a specific victim bucket (PR:L) and a non-trivial tamper setup (AC:H); victim must trigger result processing (UI:R); pickle RCE yields full C/I/A.
Primary rating from Vendor (AMZN).
CVSS VectorVendor: AMZN
Lifecycle Timeline
5DescriptionCVE.org
Insecure deserialization in the job results processing component in Amazon Braket SDK before 1.117.0 might allow a remote authenticated user with S3 write access to the job output bucket to achieve arbitrary code execution on any machine that processes job results.
We recommend you upgrade to amazon-braket-sdk version 1.117.0 or later.
AnalysisAI
Arbitrary code execution in the Amazon Braket Python SDK (versions 1.10.0 up to but not including 1.117.0) lets a remote authenticated actor with S3 write access to a Braket job output bucket run code on any machine that later processes those job results. The SDK reads the untrusted dataFormat field from results.json and, when it is set to pickled_v4, feeds attacker-controlled data into pickle.loads(), executing code with the victim SDK user's permissions. There is no public exploit identified at time of analysis, EPSS is low (0.32%), and CISA SSVC rates exploitation as none, but the technical impact is total.
Technical ContextAI
This is a classic CWE-502 insecure deserialization flaw in Python pickle handling. Amazon Braket is AWS's managed quantum computing service, and amazon-braket-sdk (CPE cpe:2.3:a:aws:amazon_braket_python_sdk) is the open-source Python client used to submit hybrid quantum jobs and retrieve results. Job results are staged in an S3 output bucket as results.json, which carries a dataFormat field (e.g. PLAINTEXT or pickled_v4) alongside a dataDictionary. The SDK's deserialize_values() function trusts the dataFormat value without validation; when it reads pickled_v4 it base64-decodes the dataDictionary values and calls pickle.loads() on them. Because pickle deserialization can instantiate arbitrary objects and invoke __reduce__ handlers, controlling the serialized bytes yields code execution in the consuming process. The v1.117.0 fix disables pickle deserialization by default.
RemediationAI
Vendor-released patch: upgrade amazon-braket-sdk to version 1.117.0 or later (release: https://github.com/amazon-braket/amazon-braket-sdk-python/releases/tag/v1.117.0), which disables pickle deserialization by default; also patch any forked or derivative code that reuses the affected deserialization logic. If you cannot upgrade immediately, apply the vendor workarounds: tighten S3 bucket policies on Braket job output buckets to least privilege so only trusted principals hold s3:PutObject, removing an attacker's ability to plant a payload (trade-off: requires auditing existing cross-account or role grants and may break automation that writes results); and validate the dataFormat field in job result metadata before calling job.result(), refusing to process results marked pickled_v4 unless you explicitly configured pickle serialization (trade-off: requires custom pre-processing and may reject legitimate pickled results if you rely on that format). See AWS bulletin 2026-036-aws and advisory GHSA-g697-2xrc-gc46 for details.
Unauthorized data access in Budibase low-code platform before 3.30.4 allows unauthenticated users to manipulate internal
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 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
A trust boundary enforcement vulnerability in Kiro IDE allows remote attackers to execute arbitrary code when a local us
Bullwark Momentum Series JAWS 1.0 contains a directory traversal vulnerability that allows unauthenticated attackers to
Command injection in Amazon ECS Agent on Windows allows authenticated attackers with task definition permissions to exec
Same weakness CWE-502 – Deserialization of Untrusted Data
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-31483
GHSA-g697-2xrc-gc46