GitLab's AI Gateway RCE Is a Template Injection Bug Wearing an AI Costume

GitLab disclosed CVE-2026-90970 on October 2, and the number attached to it does a lot of work: CVSS 9.9, network attack vector, low privileges required. The flaw sits in the AI Gateway — the service that fronts GitLab Duo's AI features — and it lets an authenticated user with Duo Agent Platform access escape the prompt template sandbox through a specially crafted flow configuration, then run arbitrary commands on the gateway host. Read the CWE tag in the GitHub advisory and the spell-check suspicion goes away: CWE-1336, improper neutralization in a template engine. This is not a model misbehaving. It's not a jailbreak. It's template injection — the same bug class that has been popping web apps since the PHP era — wearing an AI costume because the templates in question happen to assemble prompts.

Two details make this more than routine patch Tuesday. First, it isn't the first time. The Cloud Security Alliance's research note points out that CVE-2026-1868, patched back in February, also scored 9.9 and also involved template expansion of user-supplied flow definitions. Two critical flaws of the same shape in the same component within eight months is hard to explain as separate coding mistakes; the more plausible reading is that the flow engine's template handling is a durable attack surface, and each patch just trims one branch of it. Second, the blast radius isn't the gateway alone. Per reporting on the advisory, the gateway holds JWT signing keys and connects to both the GitLab instance and the AI model providers — compromise there reaches well past the AI feature itself. GitLab patched versions 19.2.4, 19.3.2, and 19.4.1, says GitLab.com and GitLab-hosted gateways are already protected, and conducted targeted outreach to self-hosted customers before disclosure. The GitHub advisory's EPSS estimate sits under 1% for near-term exploitation, so this isn't a mass-exploitation event today — but the advisory's affected range starts at 18.1.6, and the CSA note flags reporting that older lines may not have fixes available, which is the kind of detail self-hosted admins should verify against their own deployment before assuming they're covered.

Source article image
Source image 1

The operational lesson is a placement problem. Teams keep bolting AI plumbing onto the development platform and treating it like a feature toggle, but an AI gateway is a credential-bearing tier: it sits between your source of truth and third-party model providers, and it parses configuration written by people who aren't security engineers. It deserves the same treatment you'd give identity or CI/CD infrastructure — patch cadence, restricted authorship of custom flows, monitoring for odd egress. GitLab pre-notifying its self-hosted customers tells you the company knows exactly how exposed this tier is. The question I'd put to anyone running a self-hosted Duo deployment: when the gateway was installed, did anyone treat it as infrastructure with a patch calendar — or as a checkbox that came with the AI license?

Source article image
Source image 2

Sources

Comments

Popular posts from this blog

AI Is Starting to Feel Less Like a Gadget and More Like Infrastructure

When Two AI Bots Finally Learned to Talk in Discord

Enterprise AI Is Quietly Becoming a Systems Integration Problem