Abstracte technische illustratie op een bleek warmgrijs vlak: een breed gebroken-wit configuratiepaneel met zwakke gelijnde veldrijen staat links van het midden, en een kleine ronde cyaan sleutelgat-token verlaat de bovenrand ervan langs een dunne cyaan lijn naar een plat leigrijs serverblok aan de rechterkant. Onder het paneel bevat een donker afgerond vlak een paar dunne amberkleurige punthaken, en een tweede amberkleurige haarlijn loopt vandaar naar de onderrand van hetzelfde blok; één klein amberkleurig vierkant markeert de kruising waar de twee paden samenkomen. Een zwakkere tweede serverblok staat achter het eerste. Vlakke vectorgeometrie met zachte schaduwen en ruime marges; nergens zijn tekst, letters, cijfers, mensen of organisatielogo's te zien. Het OrcaRouter-logo is samengevoegd in de rechteronderhoek van een witte strook onder de illustratie.
AI Safety Incidents

CVE-2026-9198: Langflow gaf superuser-tokens uit aan iedereen en voerde vervolgens uit wat ze verstuurden

Auteur

Rowan Sterling

Publicatiedatum

Nieuwste modellen · 20Bekijk alle modellen →
Benchmarks: Artificial Analysis · dagelijks bijgewerkt
Terug naar alle berichten

Het IBM-bulletin voor CVE-2026-9198 beschrijft een overname van Langflow OSS via twee requests: een aanroep naar het auto-login-endpoint van het platform retourneert een superuser-bearer-token aan iedereen die erom vraagt, en een tweede aanroep post Python naar het code-validatie-endpoint, dat het uitvoert. De leverancier registreert de twee helften van de keten onder aparte identifiers — CVE-2026-9103 voor de ontbrekende authenticatie, CVE-2026-8481 voor de uitvoering — en beoordeelt de combinatie met 9,8 op CVSS 3.1, bereikbaar via het netwerk zonder privileges en zonder gebruikersinteractie. Standaardimplementaties op versies 1.0.0 tot en met 1.10.0 zijn getroffen; de oplossing is 1.10.1, en IBM vermeldt geen workaround. De Cybersecurity and Infrastructure Security Agency (CISA) van de VS heeft de CVE op 4 augustus 2026 aan zijn Known Exploited Vulnerabilities-catalog toegevoegd, met een federale hersteldeadline van 7 augustus. Het record, zijn severity- en harm-tags en de ingediende entries rondom dit record worden bijgehouden in het Orca AI Incident Archive, dat dit incident samen met de rest van de serie vermeldt.

De keten, in drie IBM-bulletins

IBM publiceert deze kwetsbaarheid als drie documenten in plaats van één, en juist door ze samen te lezen wordt het mechanisme begrijpelijk. De hele keten is CVE-2026-9198, een code-injectieprobleem onder CWE-94, met een score van 9,8 en de vector AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H — via het netwerk bereikbaar, lage complexiteit, geen privileges, geen gebruikersinteractie en grote impact op vertrouwelijkheid, integriteit en beschikbaarheid. De eerste helft daarvan, CVE-2026-9103, betreft ontbrekende authenticatie voor een kritieke functie onder CWE-306, ook 9,8. De tweede helft daarvan, CVE-2026-8481, betreft weer CWE-94 maar heeft een score van 9,9: AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H, lage privileges in plaats van geen, en scope gewijzigd.

A dark HTML card titled 'Three identifiers, one chain', kicker 'IBM Langflow OSS, 1.0.0 to 1.10.0', subtitle 'Bulletin identifiers, CWEs and CVSS 3.1 base scores, taken from the three IBM support pages cited in the article'. Three rows, each naming a CVE at left: CVE-2026-9103, missing authentication in the auto-login endpoint, CWE-306, scoring 9.8 with the metrics PR:N, UI:N, S:U, and a note that it issues a SUPERUSER bearer token valid for 365 days when AUTO_LOGIN is enabled, which is the default. CVE-2026-8481, remote code execution in the code-validation endpoint, CWE-94, scoring 9.9 with the metrics PR:L, UI:N, S:C, and a note that it passes submitted Python to exec and is scored with low privileges because the endpoint expects a session. CVE-2026-9198, the chain of the two filed as one vulnerability, CWE-94, scoring 9.8 with the metrics PR:N, UI:N, S:U, and a note that the no-privileges metric comes from the first half and the execution from the second. Two rules below read 'The execution half alone required a session. The missing authentication supplied one.' and 'Neither half is scored 9.8 with no privileges. Only the chain is.' A footer credits IBM as the CVSS source for all three and says the card was rendered by OrcaRouter with no vendor logos. The OrcaRouter logo is composited in the bottom-right corner.

De 9,9 is het eerlijke deel van de rekensom. Het codevalidatie-eindpunt stond op zichzelf nooit open voor buitenstaanders — IBM beschrijft het als een fout waardoor “elke geauthenticeerde gebruiker willekeurige systeemopdrachten kon uitvoeren met de volledige rechten van het Langflow-serverproces.” Wat de keten ongeauthenticeerd maakt, is de eerste helft: het auto-login-eindpunt, dat volgens IBM “langlevende superuser-bearertokens uitgeeft zonder authenticatie te vereisen wanneer de AUTO_LOGIN-configuratie is ingeschakeld (standaard ingeschakeld)”. Het bulletin voegt eraan toe dat de tokens een 365 dagen lange levensduur hebben, en vermeldt een tweede blootstellingspad dat minder aandacht krijgt — permissieve standaardinstellingen voor cross-origin resource sharing die wildcard-origins met inloggegevens toelaten, waarvan IBM zegt dat ze “drive-by-token-diefstal vanaf willekeurige websites mogelijk kunnen maken.”

Het uitvoeringsgedeelte is het deel dat nadere aandacht verdient. In de samenvatting van IBM staat dat de validator "door gebruikers ingediende code compileerde en uitvoerde, inclusief evaluaties op het moment van functiedefinitie, zoals standaardargumenten en decorators," en dat een aanvaller daardoor een uitvoerbare expressie in een standaardparameter of een decorator kon smokkelen. Dat is geen beeldspraak over onveilige code: een decorator wordt geëvalueerd wanneer de omsluitende def wordt geconstrueerd, dus een verzoek waarvan het enige vermelde doel is de syntaxis van een functie te controleren, voert nog steeds uit wat eraan is gekoppeld. IBM's eigen gekoppelde advisory zegt dat in één enkele zin — validatie en uitvoering waren dezelfde bewerking. De in het CVE-2026-8481-bulletin vastgelegde oplossing was "het verwijderen van code-uitvoering uit het validatiepad en alleen het uitvoeren van compilatiecontroles."

A dark HTML card titled 'Two requests, two endpoints', kicker 'CVE-2026-9198, exploit chain', subtitle 'Paths as written in IBM bulletin 7278927; the chain needs no credentials, no user action and no reconnaissance'. Two panels joined by a cyan arrow. REQUEST 1 shows a POST to /api/v1/auto_login with the note that no credentials are supplied and none required and that the response carries a SUPERUSER bearer token with a 365-day lifetime, plus a smaller note that the CVE-2026-9103 bulletin writes this path as /api/v1/login/auto_login. REQUEST 2 shows a POST to /api/v1/validate/code with the token and a Python payload, calling exec with the privileges of the Langflow service process, and a note that the CVE-2026-8481 score is 9.9 with S:C and PR:L. A four-part strip below reads NO PRIVILEGES, vector PR:N; NO USER ACTION, vector UI:N; NO RECON NEEDED, only confirm it runs Langflow; and TWO HTTP CALLS, the whole chain. A closing panel headed 'Why validation was execution' quotes IBM's chained bulletin on default arguments and decorators evaluated at function-definition time, and states that a request whose stated job is to check syntax ran the attached code. A footer credits IBM bulletins 7278927 and 7278923 and says the card was rendered by OrcaRouter. The OrcaRouter logo is composited in the bottom-right corner.

Een kleine discrepantie is het vastleggen waard, omdat ze van invloed is op threat hunting. Het gekoppelde bulletin schrijft het token-endpoint als /api/v1/auto_login, en dat doen de Cloud Security Alliance en Field Effect ook; het afzonderlijke CVE-2026-9103-bulletin van IBM schrijft het als /api/v1/login/auto_login. Beide IBM-documenten beschrijven hetzelfde endpoint en geen van beide zit fout wat het gedrag betreft. Het uitvoeringspad wordt overal identiek geschreven: POST /api/v1/validate/code.

Waar de datums vandaan komen

Het archief dateert deze vermelding op 6 augustus 2026. De catalogusvermelding van CISA, gelezen op 30 oktober 2026, registreert de toevoeging als 4 augustus 2026 en stelt de hersteldeadline op 7 augustus. De omliggende berichtgeving valt op beide zijden van de datum van het archief, niet op die datum zelf: Field Effect publiceerde op 5 augustus, en cvetodo en het nationale computer emergency response team van Thailand publiceerden beide op 7 augustus. Een vermelding, de deadline die eruit voortkomt en de artikelen die erover zijn geschreven, zijn drie verschillende gebeurtenissen, dus deze datums spreken elkaar niet tegen — maar het gat van twee dagen tussen het veld van het archief en dat van CISA is de reden om de catalogus te raadplegen wanneer de exacte dag ertoe doet.

Openbaarmaking is lastiger vast te stellen, en de bronnen zijn het oprecht oneens. De bulletinpagina van IBM voor de geketende CVE vermeldt een oorspronkelijke publicatiedatum van 2 juli 2026 en een wijzigingsdatum van 17 augustus 2026. Field Effect dateert de openbaarmaking door IBM op 2 juli. De onderzoeksnotitie van de Cloud Security Alliance van 18 augustus plaatst de openbaarmaking, en de release van 1.10.1 daarbij, op 17 juli; cvetodo zegt hetzelfde. Tussen de twee lezingen liggen vijftien dagen en geen van beide documenten is slordig, dus dit artikel maakt geen keuze tussen beide. Wat hoe dan ook vaststaat, is dat de patch werd gepubliceerd vóór de KEV-vermelding, en dat 1.10.1 de release is die hem bevatte.

A dark HTML card titled 'What happened, and when it was written down', kicker 'CVE-2026-9198, five dates', subtitle 'Read from the IBM bulletin metadata and the CISA KEV catalog entry on 30 October 2026, with the source disagreement labelled rather than resolved'. Five rows: 2 July 2026, 'IBM bulletin published', the initial publication date on IBM support page 7278927, with Field Effect giving the same day as the disclosure date; 17 July 2026, 'The other reading of disclosure', highlighted in amber, the date the Cloud Security Alliance and cvetodo give for disclosure and the 1.10.1 release, fifteen days apart from 2 July; 4 August 2026, 'Added to CISA KEV catalog', the date the catalog entry records, with known ransomware use recorded as Unknown and forensic triage required under BOD 26-04; 7 August 2026, 'Federal remediation deadline', also the publication date of the ThaiCERT advisory and of cvetodo's coverage; and 6 August 2026, 'The archive's date for this record', two days after the catalog date and between the 5 August and 7 August coverage. Two rules below read 'Still unresolved in sources: disclosure on 2 July (IBM, Field Effect) or 17 July (Cloud Security Alliance, cvetodo). No tie-break found.' and 'Not in dispute: the patch preceded the KEV listing, and 1.10.1 is the release that carried it.' A footer notes that the catalog entry was read on 30 October 2026 and says the card was rendered by OrcaRouter. The OrcaRouter logo is composited in the bottom-right corner.

Wat de CISA-vermelding in de eigen velden ervan precies zegt, is nauwer dan de kop. Het product valt onder leverancier IBM met product Langflow; de kwetsbaarheid wordt beschreven als een kwetsbaarheid "die niet-geauthenticeerde aanvallers in staat stelt volledige remote code execution uit te voeren op standaardimplementaties van Langflow"; bekend gebruik in ransomwarecampagnes is geregistreerd als Onbekend; forensische triage is gemarkeerd als vereist onder BOD 26-04; en de vereiste actie is om mitigaties toe te passen volgens de instructies van de leverancier, of om het gebruik van het product te staken wanneer mitigaties niet beschikbaar zijn.

Het exploitatiedossier

De vermelding van CISA stelt dat het lek in het wild is gebruikt. Het openbare bewijs achter die bewering is magerder dan de 9,8 suggereert. Noch IBM noch CISA heeft een dreigingsactor genoemd of details gepubliceerd van een waargenomen campagne — Field Effect stelt dit onomwonden, en niets in de drie IBM-bulletins of de KEV-vermelding spreekt dit tegen.

Wat er in plaats daarvan bestaat, is leverancierstelemetrie die uit de tweede hand wordt doorgegeven. De nota van de Cloud Security Alliance citeert KEVIntel voor de bewering dat exploitatiepogingen werden geregistreerd vanaf "omstreeks 6 juli 2026", weken vóór de bekendmaking volgens de eigen berekening van de alliantie, en dat de cumulatieve pogingen medio augustus waren gegroeid tot in de honderden, afkomstig van enkele honderden unieke internetadressen verspreid over tientallen landen. Die cijfers zijn afkomstig van één monitoringbedrijf en komen in geen andere bron voor die voor dit artikel is bekeken. Ze worden hier gemeld, niet bevestigd.

De startdatum verdient een tweede blik. Als de aanvallen echt rond 6 juli begonnen, is dat vier dagen na de bulletindatum die op IBM's pagina staat, en elf dagen voor de datum van 17 juli die twee andere bronnen noemen. De telemetrie bevestigt of weerlegt dus geen van beide openbaarmakingsdata; de Cloud Security Alliance biedt beide verklaringen zonder te kiezen, en beschrijft de vroege activiteit als ofwel een onafhankelijke ontdekking door opportunistische scanners ofwel een lek van technische details vóór gecoördineerde openbaarmaking.

Openbare exploitcode is het beter gedocumenteerde deel. Field Effect schrijft de openbare beschrijving van de keten toe aan 'een openbaar proof-of-concept dat in juli 2026 is gepubliceerd' in het repository github.com/0xdak/CVE-2026-9198_exploit, en stelt dat de code aantoont hoe een superuser-token wordt verkregen via het auto-login-endpoint en vervolgens tegen het validatie-endpoint wordt gebruikt. Field Effect brengt de auteur van dat repository niet in verband met enige waargenomen exploitatie, en dit artikel doet dat evenmin. Ook meldt geen enkele geraadpleegde bron een bevestigde diefstal van inloggegevens van een geëxploiteerde host: de beschrijving van het verzamelen van inloggegevens die doorgaans bij Langflow-kwetsbaarheden wordt gegeven, is een inschatting van wat een dergelijke host bevat — hieronder besproken — en geen bevinding over een met naam genoemd slachtoffer in dit verslag.

Vastgesteld, gerapporteerd en niet vastgesteld

• Vastgesteld. Dat CVE-2026-9198 ontbrekende authenticatie in het auto-login-endpoint koppelt aan code-uitvoering in het codevalidatie-endpoint; dat IBM de keten een score van 9,8 toekent onder CWE-94 en de twee helften 9,8 en 9,9; dat standaardimplementaties van Langflow OSS 1.0.0 tot en met 1.10.0 zijn getroffen op Windows, macOS en Linux; dat 1.10.1 de oplossing is en IBM geen workaround publiceert; en dat CISA de CVE aan de KEV-catalogus heeft toegevoegd met een federale deadline van 7 augustus 2026. De drie IBM-bulletins zijn de primaire documenten en ze zijn onderling eens over het mechanisme.

• Onafhankelijk opnieuw bevestigd.ThaiCERT reproduceerde in zijn advies van 7 augustus 2026 dezelfde keten van twee endpoints, dezelfde score van 9.8, hetzelfde getroffen bereik en dezelfde oplossing in 1.10.1, en voegde een netwerkmaatregel toe die de IBM-bulletins niet hebben: houd Langflow's beheerinterface buiten het openbare internet en bereik die alleen via een VPN of een strikte lijst met toegestane adressen. Dat is een bevestiging van hoe het advies werd gelezen, door een overheidsinstantie zonder belang bij de bewoordingen van de leverancier — geen onafhankelijke ontdekking van het lek.

• Gemeld, niet bevestigd. Elke exploitatietelling: honderden pogingen, enkele honderden adressen, tientallen landen, vanaf ongeveer 6 juli. Dit zijn de cijfers van één monitoringsbedrijf, doorgegeven door een onderzoeksinstantie. De vermelding van CISA bevestigt dat exploitatie heeft plaatsgevonden, zonder die te kwantificeren, en in het hier beoordeelde materiaal lijkt geen tweede telemetriebron voor te komen.

• Niet vastgesteld. Geen bij naam genoemd slachtoffer en geen bij naam genoemde actor. Geen toeschrijving aan een staat of aan een criminele groep. Geen bevestigd cijfer over hoeveel Langflow-instanties vanaf het internet bereikbaar waren — cvetodo meldde op 7 augustus dat IBM geen vragen had beantwoord over de schaal van de exploitatie — en sindsdien geen leveranciersverklaring die dit kwantificeert. Het archief kent dit record vertrouwensniveau A toe en markeert het niet als betwist, en niets van het hier beoordeelde materiaal betwist het; de lacunes zijn lacunes in het openbare bewijs, niet in de bewering dat de kwetsbaarheid bestaat en is gebruikt.

• Opzettelijk uitgesloten.ThaiCERTs advies beschrijft in dezelfde week ook AI-gerichte geautomatiseerde scanning, maar verbindt die aan een ander product in dezelfde CISA-batch, niet aan Langflow. Het is geen bewijs over dit record en wordt hier ook niet als zodanig gebruikt.

Wat is er veranderd na de vermelding?

De oplossing van de leverancier is een versieverhoging en niets anders. IBM's tabel met getroffen producten vermeldt Langflow OSS 1.0.0 tot en met 1.10.0, noemt 1.10.1 als de oplossing en zet "None" in het veld workarounds — in alle drie de bulletins. Het bulletin over CVE-2026-8481 beschrijft de wijziging: de validator stopte met uitvoeren en begon te compileren. Het bulletin over CVE-2026-9103, dat het auto-login-gedeelte behandelt, zet de oplossing niet in hetzelfde detail uiteen, en geen enkel hier bekeken IBM-document vermeldt de releasedatum van 1.10.1.

De adviezen van alle anderen gaan verder dan die van de leverancier. De Cloud Security Alliance adviseert om te upgraden en vervolgens tijdens runtime te verifiëren dat het auto-login-eindpunt geen tokens meer uitgeeft aan niet-geauthenticeerde aanroepers, in plaats van te vertrouwen op de versiestring — met als opgegeven reden dat eerdere Langflow-patches zijn uitgebracht met onvolledige fixes. De organisatie adviseert ook om de omgevingsinstelling LANGFLOW_AUTO_LOGIN expliciet op false te zetten, zodat het platform echte inloggegevens vereist in plaats van ze te genereren, en om elke instantie die sinds begin juli vanaf het internet bereikbaar is geweest als gecompromitteerd te behandelen in afwachting van een logonderzoek, met rotatie van inloggegevens voor alles wat de instantie kon bereiken: sleutels voor modelproviders, database-inloggegevens en sleutels voor clouddiensten. ThaiCERT voegt daar het netwerkgedeelte aan toe: geen beheerdersinterface op het openbare internet, alleen via VPN of een allowlist. Beide zijn aanbevelingen van de onderzoekers. IBM publiceert er geen.

Er staat één creditvermelding geregistreerd. In de erkenning van IBM wordt het rapport toegeschreven aan Harish Kolla, GitHub-handle Har1sh-k. De Cloud Security Alliance plaatst CVE-2026-9198 in haar notitie van 18 augustus als de vierde afzonderlijke Langflow-kwetsbaarheid voor niet-geauthenticeerde toegang of autorisatieomzeiling die in ongeveer vijf maanden CISA's catalogus heeft bereikt, noemt de drie eerdere identifiers, en haar interpretatie is dat het patroon wijst op herhaalde, gefragmenteerde remediëring van één authenticatie- en code-uitvoeringsmodel, niet op losstaande defecten. Die framing is de beoordeling van de alliantie, gegeven in een onderzoeksnotitie; het is geen bevinding van een onafhankelijke auditor, en geen enkele hier geraadpleegde bron vermeldt een publieke reactie van de maintainers daarop.

Wat de KEV-lijst wel en niet beslist

De catalogus van CISA is een bevestiging van waargenomen misbruik, geen incidentrapport, en deze vermelding houdt die vorm aan. Er staat dat de kwetsbaarheid is gebruikt; er staat niet tegen wie, door wie of hoe vaak. Gebruik door ransomware is geregistreerd als Unknown. Niets is gekwantificeerd. Wat de vermelding wel beslecht, is de enige vraag die een ernstscore niet kan beantwoorden: of de kwetsbaarheid is verschoven van een werkend proof of concept naar daadwerkelijk gebruik. Voor organisaties buiten het bereik van BOD 26-04 — dat is het grootste deel van de wereld — brengt de deadline van 7 augustus geen verplichting met zich mee, en het feit erachter weegt even zwaar als het met een verplichting zou hebben gewogen.

De Cloud Security Alliance trekt uit dezelfde vermelding de operationele conclusie: dat een KEV-vermelding een betrouwbaar signaal is dat exploitatie de proof-of-conceptfase voorbij is, en dat die vermelding voor deze kwetsbaarheid ongeveer een maand na de eerste geregistreerde pogingen verscheen. Wie op de catalogus wachtte voordat hij aan triage begon, reageerde volgens die lezing al op een incident in plaats van er een te voorkomen. Of dat een specifieke implementatie beschrijft, is een vraag voor de logboeken daarvan — het endpointpaar waarnaar u moet zoeken, is het paar dat IBM documenteerde, en in de registratie wordt geen enkel slachtoffer genoemd om de uitkomst aan af te meten.