CVE-2026-8597: SageMaker: RCE via poisoned Triton model artifacts in S3
HIGHAmazon SageMaker Python SDK fails to verify the integrity of model artifacts fetched from S3 before passing them to the Triton inference handler, allowing any authenticated actor with S3 write access to the model artifact path to inject a malicious pickle payload that executes arbitrary code inside the inference container. While 'high privileges required' sounds limiting, S3 write permissions on model artifact buckets are routinely granted to CI/CD service accounts, data science teams, and ML engineers — making this a realistic insider threat and supply chain risk vector rather than a theoretical one. There is no evidence of active exploitation (not in CISA KEV, no public PoC), but the attack requires low complexity once access is obtained and achieves full container compromise (C:H/I:H/A:H). Upgrade to SageMaker SDK v2.257.2 or v3.8.0 immediately, rebuild all Triton models previously created with ModelBuilder, and audit S3 bucket policies to enforce least-privilege on model artifact paths.
What is the risk?
CVSS 7.2 (High) accurately reflects real-world risk. The high privilege prerequisite (S3 write access to model artifact paths) is the primary mitigating factor, but this bar is lower than it appears in production cloud ML environments where CI/CD pipelines, data science roles, and shared ML accounts routinely hold broad S3 write permissions. Once that access exists, attack complexity is low — no user interaction required, and deserialization is triggered automatically during model loading. Full C:H/I:H/A:H impact within the inference container, with realistic potential for lateral movement to other AWS services via the instance IAM role. No active exploitation or public exploit exists at time of this analysis, which is the primary reason this does not rate critical.
Attack Kill Chain
What systems are affected?
| Package | Ecosystem | Vulnerable Range | Patched |
|---|---|---|---|
| sagemaker | pip | — | No patch |
| triton-inference-server | pip | — | No patch |
Severity & Risk
Attack Surface
What should I do?
1 step-
1) Upgrade Amazon SageMaker Python SDK to v2.257.2 (v2 branch) or v3.8.0 (v3 branch) — treat as an emergency patch given production inference infrastructure exposure. 2) Rebuild all Triton models previously created with ModelBuilder using the patched SDK version; existing artifacts loaded by unpatched SDK versions may have been deserialized without verification. 3) Audit and restrict S3 IAM policies: model artifact paths should allow PutObject only to explicitly trusted principals (specific named CI/CD roles, no wildcards, no broad data-science group policies). 4) Enable S3 Object Versioning and CloudTrail S3 data events on model artifact buckets to detect unauthorized PutObject operations. 5) Consider S3 Object Lock (compliance mode) for production model artifacts to prevent replacement without governance approval. 6) Detection: query CloudTrail for s3:PutObject events on SageMaker model artifact prefixes from unexpected IAM principals, especially outside of scheduled deployment windows.
Classification
Compliance Impact
This CVE is relevant to:
Frequently Asked Questions
What is CVE-2026-8597?
Amazon SageMaker Python SDK fails to verify the integrity of model artifacts fetched from S3 before passing them to the Triton inference handler, allowing any authenticated actor with S3 write access to the model artifact path to inject a malicious pickle payload that executes arbitrary code inside the inference container. While 'high privileges required' sounds limiting, S3 write permissions on model artifact buckets are routinely granted to CI/CD service accounts, data science teams, and ML engineers — making this a realistic insider threat and supply chain risk vector rather than a theoretical one. There is no evidence of active exploitation (not in CISA KEV, no public PoC), but the attack requires low complexity once access is obtained and achieves full container compromise (C:H/I:H/A:H). Upgrade to SageMaker SDK v2.257.2 or v3.8.0 immediately, rebuild all Triton models previously created with ModelBuilder, and audit S3 bucket policies to enforce least-privilege on model artifact paths.
Is CVE-2026-8597 actively exploited?
No confirmed active exploitation of CVE-2026-8597 has been reported, but organizations should still patch proactively.
How to fix CVE-2026-8597?
1) Upgrade Amazon SageMaker Python SDK to v2.257.2 (v2 branch) or v3.8.0 (v3 branch) — treat as an emergency patch given production inference infrastructure exposure. 2) Rebuild all Triton models previously created with ModelBuilder using the patched SDK version; existing artifacts loaded by unpatched SDK versions may have been deserialized without verification. 3) Audit and restrict S3 IAM policies: model artifact paths should allow PutObject only to explicitly trusted principals (specific named CI/CD roles, no wildcards, no broad data-science group policies). 4) Enable S3 Object Versioning and CloudTrail S3 data events on model artifact buckets to detect unauthorized PutObject operations. 5) Consider S3 Object Lock (compliance mode) for production model artifacts to prevent replacement without governance approval. 6) Detection: query CloudTrail for s3:PutObject events on SageMaker model artifact prefixes from unexpected IAM principals, especially outside of scheduled deployment windows.
What systems are affected by CVE-2026-8597?
This vulnerability affects the following AI/ML architecture patterns: ML model serving, MLOps pipelines, SageMaker inference endpoints, Triton inference infrastructure, S3-backed model registries.
What is the CVSS score for CVE-2026-8597?
CVE-2026-8597 has a CVSS v3.1 base score of 7.2 (HIGH).
Technical Details
NVD Description
Missing integrity verification in the Triton inference handler in Amazon SageMaker Python SDK v2 before v2.257.2 and v3 before v3.8.0 might allow a remote authenticated actor to achieve code execution in inference containers via replacement of model artifacts in S3 with a specially crafted pickle payload that is deserialized without verification. This issue requires a remote authenticated actor with S3 write access to the model artifact path. To remediate this issue, we recommend upgrading to Amazon SageMaker Python SDK v2.257.2 or v3.8.0 and rebuild any Triton models previously created with ModelBuilder using the updated SDK.
Exploitation Scenario
An attacker compromises an AWS IAM credential with S3 write access to a SageMaker model artifact path — obtained via phishing a data scientist, a leaked .env file in a public GitHub repo, or a compromised CI/CD service account secret. They silently overwrite the legitimate Triton model artifact bundle in S3 with a crafted pickle payload embedding a reverse shell or AWS credential harvester. On the next SageMaker model deployment, endpoint refresh, or auto-scaling cold-start event, the SDK's Triton inference handler deserializes the artifact without integrity verification, triggering attacker-controlled code execution inside the inference container. The attacker then queries the EC2 IMDS endpoint for the instance profile credentials, assumes the SageMaker execution IAM role, accesses other AWS services (S3 buckets, Secrets Manager, other SageMaker endpoints), and can exfiltrate proprietary model weights or persist access — all while inference continues to appear operationally normal to monitoring systems.
Weaknesses (CWE)
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H References
Timeline
Related Vulnerabilities
CVE-2026-1777 7.2 sagemaker: security flaw enables exploitation
Same package: sagemaker CVE-2025-0508 5.9 SageMaker SDK: MD5 collision silently replaces ML workflows
Same package: sagemaker CVE-2026-1778 5.9 sagemaker: security flaw enables exploitation
Same package: sagemaker GHSA-5r2p-pjr8-7fh7 sagemaker: Allowlist Bypass evades input filtering
Same package: sagemaker CVE-2024-2912 10.0 BentoML: RCE via insecure deserialization (CVSS 10)
Same attack type: Supply Chain