
GitLab's AI Gateway liet een zorgvuldig samengestelde flowconfiguratie uit zijn prompt-sandbox ontsnappen.
- OrcaNIEUWOrca: OrcaCyber Ultra 1.02026-10-17$5.00 / $10.00 per 1 mln tokens · 13 tok/s
- deepseekNIEUWDeepSeek: DeepSeek V4.1 Flash 10172026-10-1745Intelligentie
- DeepSeekNIEUWDeepSeek: DeepSeek V4.1 Flash2026-10-1740Intelligentie
- OrcaNIEUWOrca: OrcaCyber Zero 1.52026-10-10$3.00 / $7.50 per 1 mln tokens · 155 tok/s
- openaiOpenAI: GPT-6.1 Sol2026-09-2952Intelligentie
- anthropicAnthropic: Claude Sonnet 5.52026-09-2856Intelligentie
- typesafeTypeSafe: Jev 1.132026-09-24$0.04 / $0.00 per 1 mln tokens · 971 tok/s
- OpenAIOpenAI: GPT-6 Luna2026-09-2238Intelligentie
- OpenAIOpenAI: GPT-6 Sol2026-09-2248Intelligentie
- AnthropicAnthropic: Claude Opus 5.52026-09-2258Intelligentie
- xAIGrok 4.72026-09-2146Intelligentie
- OrcaOrca: OrcaCyber Zero 1.02026-09-17$3.00 / $7.50 per 1 mln tokens · 104 tok/s
- OrcaOrca: OrcaVerify Text 1.02026-09-16$2.00 / $0.00 per 1 mln tokens · 964 tok/s
- OpenAIOpenAI: GPT-6 Astra2026-09-0453Intelligentie77Coderen
- GoogleGoogle: Gemini 3.8 Flash2026-09-0241Intelligentie76Coderen
- AlibabaQwen: Qwen3.8 Max (0902)2026-09-0245Intelligentie76Coderen
- AnthropicAnthropic: Claude Fable 5.12026-09-0153Intelligentie82Coderen
- TencentTencent: Hy4 preview2026-08-28$0.83 / $2.50 per 1 mln tokens · 49 tok/s
- AlibabaQwen: Qwen3.8 Flash2026-08-26$0.15 / $0.47 per 1 mln tokens · 100 tok/s
- z-aiZ.ai: GLM 5.3 Flash2026-08-2642Intelligentie72Coderen
Op 2 oktober 2026 publiceerde GitLab een kritieke patchrelease voor zijn AI Gateway — de middleware die verzoeken tussen een GitLab-instantie en de taalmodellen die zijn Duo-functies aanroepen, doorgeeft — met de naam CVE-2026-90970 en kende er een score van 9,9 op 10 aan toe. De kwetsbaarheid had, in de woorden van GitLab zelf, "een geauthenticeerde gebruiker met toegang tot het Duo Agent Platform in staat kunnen stellen om via een speciaal vervaardigde flowconfiguratie uit de sandbox voor prompttemplates te ontsnappen, wat zou leiden tot uitvoering van willekeurige opdrachten op de AI Gateway." Alleen organisaties die een zelfgehoste AI Gateway gebruikten, hoefden actie te ondernemen: GitLab had de gateways die het beheert voor GitLab.com, GitLab Dedicated en zelfbeheerde klanten die een door GitLab gehoste gateway gebruiken, al gerepareerd, en meldde dat in het beveiligingsadvies. In de melding van GitLab staat niet dat de kwetsbaarheid ooit is misbruikt, en de beoordeling die de Amerikaanse Cybersecurity and Infrastructure Security Agency dezelfde dag aan het CVE-record heeft toegevoegd, vermeldt exploitatie als "none". De eer voor de ontdekking ging naar de HackerOne-onderzoeker bekend als invisiblemeerkat. Het advies van GitLab, het NVD-record en de berichtgeving die daarop volgde, zijn met elkaar in overeenstemming over wat de kwetsbaarheid was en welke versies deze bevatten; even consistent zijn ze over wat niet bekend is, namelijk of iemand er ooit misbruik van heeft gemaakt. Dit record staat naast de andere gedocumenteerde kwetsbaarheden in agentinfrastructuur in het AI-incidentenarchief, waar elke vermelding zijn eigen bronnen, ernst, betrouwbaarheidsgraad en betwistingsmarkering heeft.
Wat het advies daadwerkelijk zegt, en wat het weglaat
Het beveiligingsadvies is kort. Gepubliceerd op GitLab's documentatiesite onder de titel "Kritieke patchrelease voor GitLab AI Gateway: 19.2.4, 19.3.2 en 19.4.1", noemt het één beveiligingsfix, met als kop "Probleem met onjuiste neutralisatie in aangepast flow-prompttemplate beïnvloedt AI Gateway" en gemarkeerd als Kritiek. Het geeft de CVSS 3.1-vector als AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H — netwerkbereikbaar, lage aanvalscomplexiteit, lage privileges vereist, geen gebruikersinteractie, scope gewijzigd en hoge impact op vertrouwelijkheid, integriteit en beschikbaarheid. Die vector is het lezen waard omdat hij duidelijk is over de aanvaller: lage privileges, maar toch privileges. Het advies zegt "een geauthenticeerde gebruiker met toegang tot Duo Agent Platform" en laat het daarbij. Het noemt niet de rol, de machtiging of de voorwaarden waarop zijn eigen formulering "onder bepaalde voorwaarden" betrekking heeft.
Het publiceert geen proof of concept, beschrijft niet de speciaal samengestelde flowconfiguratie en biedt geen workaround voor gateways die niet onmiddellijk kunnen worden bijgewerkt. The Hacker News merkt in zijn rapport van 2 oktober dezelfde lacunes op en voegt er een toe die operationeel van belang is: het advies biedt geen manier om te controleren of een gateway is aangevallen voordat deze werd gepatcht. Security Affairs, dat de volgende dag schrijft, constateert dezelfde hiaten.
De Common Weakness Enumeration-vermelding die aan de CVE is gekoppeld, is CWE-1336, onjuiste neutralisatie van speciale elementen die in een template-engine worden gebruikt. In het advies van GitLab komt het woord Jinja nergens voor. In de documentatie van de AI Gateway-repository zelf wel: het document over het prompt-register beschrijft promptconfiguratiebestanden die "Jinja-expressies ondersteunen voor meerdere rollen, zoals user en system", en beschrijft een Prompt-klasse die "Jinja gebruikt om de promptsjablonen te interpoleren met de invoerargumenten". Het gat dat de CVE beschrijft, is precies het gat waar die klasse van engines berucht om is — door de gebruiker aangeleverde tekst die een sjabloon bereikt dat wordt geëvalueerd in plaats van afgedrukt.
Waarom een commando op deze specifieke host 9,9 waard is
De AI Gateway is geen sidecar. Volgens de self-hosted documentatie van GitLab ontvangt het verzoeken van GitLab, stelt het de prompts samen en communiceert het met de modelbackend — een vLLM-server, Amazon Bedrock, Azure OpenAI of een externe provider — en in een volledig self-hosted deployment is het de component die prompts en antwoorden binnen het eigen netwerk van de organisatie houdt. De installatiehandleiding voor de AI Gateway van GitLab vertelt beheerders ook om een ondertekeningssleutelpaar te genereren en de twee helften als omgevingsvariabelen aan de service door te geven, als AIGW_SELF_SIGNED_JWT__SIGNING_KEY en AIGW_SELF_SIGNED_JWT__VALIDATION_KEY (met equivalenten voor Duo Workflow). Security Affairs maakt de consequentie expliciet: commando-uitvoering op de gateway plaatst een aanvaller op een host die JWT-ondertekeningsmateriaal bevat en op het pad zit tussen de GitLab-instantie en de modelinfrastructuur.
Dat is het verschil tussen een sandbox-escape in een speeltje en een in productie. De escape hoeft geen model te bereiken; hij moet het proces bereiken dat de sleutels bevat waarmee de modelaanroepen worden ondertekend.
De productdocumentatie van GitLab stelt, los van het advies, dat het maken of bewerken van een aangepaste flow de rol Maintainer of Owner in het beherende project vereist, en dat het uitvoeren ervan Developer of hoger vereist. Het advies bevestigt die toewijzing niet, en The Hacker News merkt op dat er geen rol wordt genoemd buiten "Duo Agent Platform access". Een lezer die de eigen blootstelling inschat, moet de documentatie behandelen als het machtigingsmodel van het product en het stilzwijgen van het advies als precies dat: stilzwijgen, geen tegenspraak.
Vastgesteld, en niet vastgesteld
De eigen velden van het record zijn consistent met alles hierboven en voegen niets toe dat niet in het advies staat. Wat volgt is de opsplitsing die een lezer niet uit een samenvatting van één regel kan halen.
• Vastgesteld: een kwetsbaarheid met kritieke ernst in GitLab AI Gateway, openbaar gemaakt op 2 oktober 2026, CVSS 9.9, CWE-1336, bereikbaar door een geauthenticeerde gebruiker van Duo Agent Platform via een speciaal samengestelde flowconfiguratie, resulterend in uitvoering van commando's op de gatewayhost.
• Vastgesteld: de getroffen reeks — alle AI Gateway-versies vanaf 18.1.6 tot vóór 19.2.4, 19.3 tot vóór 19.3.2, en 19.4 tot vóór 19.4.1 — en de gecorrigeerde versies, 19.2.4, 19.3.2 en 19.4.1.
• Vastgesteld: GitLab-gehoste gateways zijn vóór publicatie gepatcht en hun klanten hoeven geen actie te ondernemen; beheerders van zelfgehoste installaties werden rechtstreeks benaderd vóór de releasepost, wat GitLab in het advies zelf vermeldt.
• Vastgesteld: de vermelding van de melder, aan invisiblemeerkat, en het ontbreken van enige verklaring over exploitatie in het wild.
• Niet vastgesteld: of iemand er misbruik van heeft gemaakt. Een CISA SSVC-beoordeling van 2 oktober 2026, zichtbaar in het NVD-record, geeft exploitatie als "geen", automatiseerbaar als "nee" en technische impact als "totaal"; de CISA Known Exploited Vulnerabilities-catalogus vermeldde CVE-2026-90970 niet in de herziening van 20 oktober 2026, wat ik rechtstreeks heb gecontroleerd. Het EPSS-model van FIRST stelde de kans op misbruik in de komende 30 dagen op 21 oktober 2026 op 0,94 procent — laag, en niet nul.
• Niet vastgesteld: hoeveel zelfgehoste gateways er bestaan, hoeveel er zijn blootgesteld, of er een is aangevallen vóór het patchen. Geen enkele bron in dit dossier geeft een aantal, en het advies van GitLab biedt geen detectiemethode.

Het getroffen bereik, en de versies waarvoor geen oplossing is vermeld
De versiearitmetiek is minder netjes dan de drie releases met een fix suggereren. Het getroffen bereik begint bij 18.1.6, en er is geen release met een fix gepubliceerd op enige tak onder 19.2.4. Elke gateway van 18.1.6 tot en met de 19.1-serie valt dus binnen het genoemde getroffen bereik, zonder dat er een gepatchte versie voor wordt genoemd. The Hacker News wijst op dezelfde consequentie en de vragen die daaruit volgen: GitLab's installatiedocumentatie zegt beheerders om de gateway-image te draaien waarvan de versie overeenkomt met hun GitLab-minorversie, en het advies zegt niet of een 19.2.4-gateway werkt met GitLab 19.1 of ouder, noch of er fixes voor de oudere takken gepland zijn. GitLab's beleid voor ondersteunde versies vermeldt, zoals The Hacker News opmerkt, momenteel 19.4, 19.3 en 19.2 — dezelfde drie takken die fixes kregen.
Herstel is een containervervanging in plaats van een patch: de gateway wordt geleverd als een eigen Docker-image of Helm-chart. De installatiegids van GitLab beschrijft het stoppen en verwijderen van de draaiende container, het ophalen van de nieuwe image met een self-hosted-vX.Y.Z-ee-tag en het opnieuw starten ervan met de omgevingsvariabelen intact; bij Helm-implementaties wordt de tag ingesteld in het image-veld van de chart. Noch de advisory, noch de installatiegids biedt een signatuur of indicator die een aangevallen gateway van een schone zou kunnen onderscheiden.

Dezelfde bugklasse, acht maanden eerder
Dit is niet de eerste keer dat GitLab een 9.9 uitbrengt voor template-injectie in de AI Gateway. Op 6 februari 2026 bracht het AI Gateway 18.6.2, 18.7.1 en 18.8.1 uit voor CVE-2026-1868, in dat advies omschreven als een "Insecure Template expansion issue", waarbij de component Duo Workflow Service "kwetsbaar was voor onveilige template-expansie van door gebruikers aangeleverde gegevens via speciaal samengestelde Duo Agent Platform Flow-definities", bruikbaar voor denial of service of code-uitvoering op de gateway. De CVSS-vector is teken voor teken identiek aan die van oktober, en dat geldt ook voor de CWE. De melder was iemand anders: die werd intern gevonden, door GitLab-teamlid Joern Schneeweisz.
Het beveiligingsadvies uit oktober noemt dat van februari niet, en The Hacker News zegt dat expliciet. Of de twee een gemeenschappelijke grondoorzaak delen, een oplossing die geen stand hield, of slechts een taal en een dreigingsmodel — dat beantwoordt geen van beide openbare documenten. Wat vaststaat, is dat een template-engine in een AI-middlewarecomponent nu in hetzelfde jaar twee kritieke adviezen over commando-uitvoering met dezelfde score heeft opgeleverd, en dat er een externe onderzoeker nodig was om de tweede te vinden.
Wat is er veranderd, en wat moeten operators nog beslissen?
De concrete wijziging bestaat uit drie image-tags en een directe outreachronde. GitLab zegt dat het vóór publicatie contact heeft opgenomen met klanten van de zelfgehoste gateway, en het beveiligingsadvies werd dezelfde dag samen met de gepatchte images uitgebracht. Voor alle anderen — GitLab.com, GitLab Dedicated en zelfbeheerde instances die naar een door GitLab gehoste gateway wijzen — was de fix al server-side toegepast en volgens GitLab was er niets nodig.
Voor een self-hosted operator is de beslissing beperkter en minder comfortabel dan een normale patchcyclus. Er is geen workaround voor een gateway die niet onmiddellijk kan worden verplaatst. Er is geen vrijgegeven methode om vast te stellen of de host voorafgaand gecompromitteerd was, wat betekent dat de enige retrospectieve optie de gebruikelijke is: behandel de container als een systeem waarvan de integriteit onbewezen is, en zoek naar aanwijzingen voor uitvoering buiten zijn normale gedrag. En voor gateways op 18.x of 19.1 noemt het advies helemaal geen doelversie — een omissie die The Hacker News meldt en die de kennisgeving van GitLab niet adresseert.
De eigen classificatie van het archief is bewust nauwer dan die van de leverancier. Het registreert deze vermelding als een kwetsbaarheid, met vertrouwensniveau A en de bronnen eensgezind, niet betwist, zonder geregistreerde reële schade, en met een ernstveld van "hoog" tegenover "kritiek" bij GitLab en NVD. Dat zijn antwoorden op verschillende vragen: de score beschrijft wat de fout zou toelaten, en de beoordeling van het archief beschrijft wat er bekend is gebeurd. In het openbare dossier is er niets gebeurd — geen misbruik, geen slachtoffers, geen incidentrapport. De waarde van de vermelding is dat ze, met een CVE-nummer en een opgeloste versie, precies documenteert hoe een prompt-sjabloon een opdrachtregel werd in de middleware waarvan enterprise-AI-functies afhankelijk zijn.

