LMDeploy CVE-2026-33626: SSRF Lessons for AI Stacks
LMDeploy-SSRF (CVE-2026-33626) was exploited within 12.5 hours. Three architectural consequences for cloud teams with vision-inference stacks.
On 22 April 2026 at 03:35 UTC, Sysdig observed the first real‑world exploit attempt against CVE‑2026‑33626 in a honeypot, 12 hours and 31 minutes after the GitHub advisory was published. The attack path in a Vision‑Language‑Model installation of LMDeploy traversed the AWS Instance Metadata Service, a local Redis instance, and a MySQL backend port in less than eight minutes. For cloud architects, the case is less a LMDeploy issue than an architectural one: why are inference servers even placed in the same VPC segment as stateful back‑ends; who bears operational responsibility for this segmentation in the 2026 AI stack?
Key Takeaways
- CVE‑2026‑33626 in LMDeploy (CVSS 7.5): Vision‑LLM SSRF via the load_image() function, exploit documented by Sysdig’s honeypot within 12.5 hours of the advisory (22 04 2026, 03:35 UTC).
- Attack chain: Vision API endpoint loads arbitrary URL without private‑IP validation. Result: IMDS access (169.254.169.254), internal service enumeration, cloud‑credential exfiltration.
- The exploit leverages request‑repo callbacks and rotating models (internlm‑xcomposer2, InternVL2‑8B) for obfuscation. Tool‑driven, not handcrafted.
- Structural lesson: model servers should not share the same VPC segment as stateful back‑ends. Private‑IP blockers alone are no longer sufficient protection in 2026.
- For DACH cloud architects this means three concrete tasks: network segmentation, IMDSv2 enforcement, and LLM‑specific egress monitoring in the next sprint planning.
What CVE‑2026‑33626 Generates Technically
What is Server‑Side Request Forgery (SSRF)? SSRF describes a class of vulnerabilities where an attacker tricks a server into sending HTTP requests to targets that are not directly reachable by the attacker. Traditionally, attackers use this to reach internal services (metadata endpoints, databases, admin interfaces) that should be isolated from the public internet. In inference stacks, SSRF is especially dangerous because Vision‑LLM servers are architected to fetch images from arbitrary URLs–and that very default behavior is the attack vector.
In LMDeploy the flaw resides in the load_image() function in the module lmdeploy/vl/utils.py. The function accepts a URL and loads the image for the downstream vision pipeline. Private‑IP validation is missing in the affected version. An attacker sends a normal vision request with a URL such as http://169.254.169.254/latest/meta-data/iam/security-credentials/ and, as long as the inference server holds AWS IAM credentials, receives the corresponding metadata response. The Vision‑LLM becomes the messenger that publishes its own cloud credential store.
The attack chain observed by Sysdig is methodical and tool‑driven. Phase one: call to the AWS IMDS for credential exfiltration. Phase two: probes against localhost Redis (port 6379) to enumerate loosely configured key‑value caches. Phase three: MySQL port 3306 scans on internal addresses, flanked by out‑of‑band DNS callbacks via requestrepo.com to confirm blind SSRF paths. According to Sysdig, the entire sequence completes in under eight minutes and, due to model rotations, is harder to detect than a classic script‑kiddie attack.
Why Inference Stacks Are Systematically Vulnerable
Vision‑Language‑Model servers have a property that rarely appears so strongly in the classic backend world: their functional task is to fetch and process external content. That makes them a born‑in SSRF vector. At the same time, these servers are run in many DACH inference stacks in the same VPC segments as vector databases, feature stores and application caches, because latency is being optimized and the architecture looks “logical” on the whiteboard. This very co‑location is no longer tenable in 2026.
Three Metrics from the Sysdig Advisory
The Three Homework Assignments for Cloud Architects
Homework 1: Inference Servers in Separate VPC Segments
The first and most important measure: vision and language model servers belong in dedicated VPC segments with no direct route to stateful back‑ends such as Redis, MySQL, Postgres, MongoDB or internal admin interfaces. This isn’t theory, it follows from the functional nature of the model server (it can load arbitrary URLs). In Terraform configurations this translates to: own subnets, own security groups with explicit egress rules, no peering routes to database subnets. Anyone lacking this segmentation cannot fully block the LMDeploy exploit, no matter how quickly a patch is applied.
A pragmatic intermediate step: introduce an “AI zone” as a third security zone alongside the DMZ and the internal network. In the AI zone run model servers, model gateways and vector‑DB replicas. Stateful back‑ends stay in the internal network. Traffic between zones travels exclusively via service accounts with tight policies. In our engagements we see this topology can be rolled out in four to six weeks, even in brownfield environments with existing infrastructure.
Homework 2: Enforce IMDSv2, Disallow v1 Calls
The LMDeploy exploit retrieved IAM credentials through the IMDSv1 path (simple HTTP GET to 169.254.169.254). AWS has defined IMDSv2 as the default since 2023, but many legacy deployments still run on v1. Azure and GCP offer analogous metadata services with similar protection mechanisms. The operational consequence: enforce IMDSv2 in all EC2 launch templates (HttpTokens = “required”), secure Azure Instance Metadata Service with required headers, and protect GCP metadata with Metadata‑Flavor header checks. For DACH teams managing multiple AWS accounts we recommend an SCP policy at the organization level that globally bans IMDSv1. This also catches legacy workloads that slip through in single‑account configurations.
Homework 3: LLM‑Specific Egress Monitoring
Classic SIEM often misses an SSRF attack on a vision LLM because the requests look like normal image loads. Detection works better at the egress layer: which destinations has the inference server actually contacted? If a vision LLM made 15 requests to 169.254.169.254 in the last hour, that’s a signal. If the same server sends requests to requestrepo.com, oast.pro or burpcollaborator.net, that’s another. Concrete implementation: an egress proxy with allowlist‑based routing and alerting on anomalies in outbound traffic. Without this, you only see the attack in billing reports after the credentials have already been exfiltrated.
Looking at the Supply Chain of Inference Components
Another hidden aspect in the current case is the supply‑chain dimension. LMDeploy is an open‑source component used in many DACH production stacks, often as a transitive dependency in custom inference pipelines or as part of third‑party Helm‑chart Kubernetes deployments. Teams without a clear SBOM (Software Bill of Materials) for their AI infrastructure have no idea where LMDeploy is active when an incident occurs. That turns patching into a treasure‑hunt and dramatically slows response time.
The pragmatic counter‑step: generate an SBOM for the entire AI stack, ideally automated via CycloneDX or SPDX generation in the CI pipeline. For mid‑size teams, a weekly SBOM snapshot with a delta report in the first year–highlighting critical CVEs against the internal component list–is sufficient. The tooling (Trivy, Syft, Dependency‑Track) is available; the organization just needs to adopt it. Teams that start now will be far better prepared for the next CVE in three weeks than those that had to hunt for LMDeploy manually.
What This Means for Your Own Patch Process
The rapid‑exploitation observation with LMDeploy is not an outlier. CVE‑2026‑33626 joins a series of inference‑stack vulnerabilities that were exploited in hours rather than weeks in 2026. This has consequences for the patch process. A classic 30‑day patch SLA is no longer adequate for inference stacks. The new expectation: critical patches to AI‑server components within 24 to 72 hours, ideally automated via Helm‑chart updates with policy‑gated rollouts.
For DACH organizations this means an investment in the patch pipeline: continuous CVE monitoring for the entire AI‑stack inventory (LMDeploy, vLLM, TGI, Ray Serve, Triton, Ollama, LiteLLM), clear ownership per component, and automatic rollouts with a canary strategy. Teams without such a pipeline are structurally outside the 24‑hour response window that 2026 demands.
The organizational side is often more challenging than the technical one. Many DACH teams have the patch process for application servers and databases well under control because responsibilities are clear there. AI stacks sit between platform engineering, data science, and security, and each side assumes the other is responsible. The implication for leaders in this environment: formally designate a patch owner for each AI component, with escalation SLAs and accountability displayed on the operations dashboard. Treating the issue as a side‑matter won’t get the next CVE fixed faster–it will get fixed later. The ownership question is the one that will determine your organization’s patch capability over the next three quarters. Leaving it unresolved delays every subsequent exploit case by exactly as long as the coordination among the three teams takes.
What Role the Model Gateway Plays in the New Topology
A topic often missing from the ongoing LMDeploy discussion: the role of the model gateway as an architectural layer. A model gateway (Kong AI Gateway, LiteLLM, Portkey, Vercel AI Gateway) ideally sits in front of the actual model server and handles authentication, rate‑limiting, PII filtering, and observability. For SSRF attacks the gateway adds another function: it can validate image URLs before forwarding them to the model server, filter private‑IP ranges, and enforce egress rules. Adding a gateway to the topology gives you a second defensive ring that operates independently of the model‑server code.
Integrating a model gateway in a typical mid‑market setup costs between 30 000 and 90 000 Euro in the first year (license, integration, operations training). The investment pays off mainly through two effects. First, the reduction of blast radius for model‑server vulnerabilities such as CVE‑2026‑33626. Second, unified observability across multiple model servers, which in heterogeneous environments would otherwise have to be built painstakingly per vendor. If you still don’t have a model gateway in 2026, you should deploy one no later than Q3.
What the Security Colleague from the App‑Dev World Says
A brief reality check from the field, from a cloud‑ops perspective: anyone who grew up in the app‑dev world knows SSRF from the OWASP Top 10 for years. Classic countermeasures (URL validation, private‑IP blocking, DNS‑rebinding protection) are often available as middleware in web frameworks. In inference stacks of 2024 and 2025 this layer was frequently overlooked or labeled “AI‑specific.” The LMDeploy exploit shows that the app‑dev lessons apply to AI stacks unchanged, only with minor tweaks. When you ask your security organization to perform an SSRF review of all AI components, you typically receive a solid gap analysis within two weeks. That is the fastest ROI in the post‑LMDeploy week.
Frequently Asked Questions
Which LMDeploy versions are affected?
The GitHub advisory lists all versions prior to the patched release. Specific version strings are found in the advisory and in the security trackers GitLab and NIST. Anyone running LMDeploy in production should immediately upgrade to the latest version and validate the load‑image path.
Are other inference stacks similarly vulnerable?
Any inference stack with vision or multimodal capabilities and image‑loading functionality should be checked for SSRF risks. vLLM, Ray Serve and Text Generation Inference exhibit comparable functional patterns. An internal SSRF audit across the entire AI stack is warranted in 2026.
Does a Web Application Firewall (WAF) help?
Only partially. WAF rules that block private‑IP ranges in HTTP bodies catch some attacks but often fall short, as attackers combine IPv6 private ranges, DNS rebinding and URL‑encoding. A WAF is a supplement, not a replacement for proper network segmentation and patch processes.
What is the minimal detection strategy for this class of attacks?
Three signals prove reliable in practice: unusual egress destinations (169.254.*, 10.*, 172.16‑31.*, 192.168.*), callback domains (requestrepo.com, oast.pro, burpcollaborator.net), and sudden latency spikes in model‑server logs caused by HTTP calls to unknown targets. Integrating these three signals into a SIEM or observability setup is a sprint‑level task.
How does this relate to Zero‑Trust architectures?
Zero‑Trust architectures address the core of this attack cleanly: authenticate every connection, authorize every access, never assume trust at the network level. Organizations that implement Zero‑Trust consistently have structurally mitigated the LMDeploy exploit, because the inference server would not gain implicit rights on stateful back‑ends even in an SSRF scenario.
Do we need to adjust our inference‑stack supplier contracts?
For many companies, yes. The advisory‑to‑exploit window of 12.5 hours means supplier SLAs with patch times of 30 days or more are untenable. Renegotiating to 72‑hour patches for critical vulnerabilities in AI‑stack components is appropriate in 2026. Failing to do so leaves a structural risk in production.
Network: Read more in cloudmagazin
- Architectural classification of the A2A Protocol 1.2 and Service Mesh integration
- Multi‑cloud view of Cloud Brokerage Services and FinOps Report 21.04.2026
- Background on the Commvault‑Clumio push at Cloud Next 2026
Source cover image: Pexels / Christina Morillo (px:1181263)

