CVE Tools
Langflow's Auto-Login Endpoint Was Handing Out Admin Tokens — CVE-2026-9198 Has Been Under Attack Since Before It Had a CVE. A two-request chain turns any Langflow AI-agent server into root: one end

Langflow's Auto-Login Endpoint Was Handing Out Admin Tokens — CVE-2026-9198 Has Been Under Attack Since Before It Had a CVE

A two-request chain turns any Langflow AI-agent server into root: one endpoint mints a superuser token to anyone who asks, the next runs whatever Python you hand it. KEVIntel's sensors caught scanning for it eleven days before the CVE was even published.

Langflow is an open-source visual builder for LLM-powered agents and workflows — the kind of tool a team stands up to wire together model calls, retrieval steps, tool invocations and database lookups, then exposes as an internal API. On August 4, 2026, CISA added CVE-2026-9198 to its Known Exploited Vulnerabilities catalog: an unauthenticated, two-request chain that hands an attacker full remote code execution on any default Langflow deployment.

The unusual part isn't the bug — code-execution flaws in AI agent platforms have become routine this year. It's the timeline. Sensor telemetry shows exploitation attempts starting July 6, 2026 — eleven days before IBM even published the CVE.

The chain: two requests, zero credentials

IBM's own advisory describes it as one flaw, but it's really two design decisions colliding. /api/v1/auto_login exists to streamline local development — it mints a SUPERUSER session token automatically. In affected versions that behavior isn't gated by network origin, single-user mode, or an explicit opt-in flag: any caller who can reach the HTTP listener gets a fully privileged token. /api/v1/validate/code exists to let the UI check component code before running it — it hands attacker-supplied Python straight to exec(). Chain the two and an anonymous network caller gets a superuser token, then uses it to execute arbitrary code.

CVE-2026-9198 — from anonymous request to code execution

  1. Attacker, no credentials — Any network caller that can reach the Langflow HTTP listener
  2. POST /api/v1/auto_login — Endpoint built for local-dev convenience
  3. AUTO_LOGIN enabled? — Default-on for Langflow < 1.5; must be explicitly set on newer builds
  4. SUPERUSER token issued — No credentials, no origin check, no local-only binding
  5. POST /api/v1/validate/code + token — Endpoint's job is to 'validate' submitted Python
  6. exec() runs attacker Python — Full RCE as the Langflow process — CVSS 9.8, C:H/I:H/A:H
  7. No token / request blocked — AUTO_LOGIN disabled or bound to loopback — chain breaks here

What the sensors actually recorded

KEVIntel — which correlates CISA, vendor and community telemetry into exploitation timelines — puts numbers on this one. As of today, its record for CVE-2026-9198 shows:

  • First sensor sighting: July 6, 2026 — 11 days before the CVE was published
  • 775 exploitation attempts logged across 24 sensors
  • 302 unique attacker IP addresses, spanning 46 countries
  • Public PoC code: July 29, 2026 · Nuclei scanner template: July 29, 2026
  • Added to CISA KEV: August 4, 2026, 16:45 UTC · federal deadline August 7
  • Activity is ongoing — last observed attempt: today, August 23, 2026

Exploitation telemetry as of 2026-08-23live record →

Langflow's fourth KEV-listed critical in under two months

CVE-2026-9198 isn't Langflow's first brush with CISA's list this year — it's the fourth distinct unauthenticated-RCE-class bug we've tracked on this platform since March, each independently exploited and each involving a different endpoint that trusted input it shouldn't have.

CVEWeaknessEndpointEPSSKEV'd
CVE-2025-3248CWE-94 code injection/api/v1/validate/code~100%Yes — Metasploit-weaponized, used for the Flodrix botnet
CVE-2026-33017CWE-94 / CWE-306 missing auth/api/v1/build_public_tmp/{flow_id}/flow96.2% (99.9th pctile)Yes — weaponized within ~20 hours, Monero mining + cloud-key theft
CVE-2026-55255CWE-639 IDORauthenticated /api/v1/responses29.1%Yes — 3-day KEV deadline despite comparatively low CVSS (8.4)
CVE-2026-9198CWE-94 code injection/api/v1/auto_login + /api/v1/validate/code18.8% (97.1th pctile)Yes — attempts recorded before the CVE existed

Same week, two other KEV adds — don't conflate the stories

CVE-2026-9198 landed on KEV alongside two N-able N-central authentication-bypass flaws (CVE-2026-18556 and its incomplete-patch follow-up CVE-2026-18577 — we covered that chain in depth already) and an Apache Tomcat encryption bypass, CVE-2026-34486. The Tomcat bug matters here for a different reason: it's been tied by Palo Alto's Unit 42 to a Chinese-speaking actor running autonomous exploitation via a DeepSeek-powered agent framework.

What's actually confirmed about CVE-2026-9198 vs. a story often blended into it

Confirmed about CVE-2026-9198
  • Unauthenticated auto_login → validate/code chain, CVSS 9.8
  • Sensor hits since July 6, 2026: 775 attempts / 302 IPs / 46 countries
  • Public PoC + Nuclei template by July 29
  • KEV added August 4; CISA discloses no exploitation-method detail
A different Langflow story, often blended in
  • Unit 42 documented a DeepSeek-driven agent (the 'Hermes Agent' framework) attacking a *different* Langflow bug, CVE-2026-33017
  • That attempt failed on the target (no auto_login, no public flow ID) — the agent then researched and pivoted to n8n instead
  • Real, well-sourced story — it just isn't CVE-2026-9198

Why this class of target keeps producing critical bugs

Langflow instances aren't just web apps — they're typically wired to whatever the workflows they run need: model-provider API keys, vector database credentials, relational database connection strings, cloud access tokens. A compromised Langflow host doesn't hand an attacker a defaced webpage; it hands them the credential set for every system its flows touch. That's the practical reason four unauthenticated-RCE-class Langflow CVEs in under a year is a bigger deal than the CVSS scores alone suggest — and why 'rotate every credential the instance had access to' belongs in the remediation list, not just 'apply the patch.'

Fix it

  1. Upgrade to Langflow OSS 1.10.1 or later — redeploy the container image rather than patching in place; older builds can silently persist the vulnerable code path.
  2. Explicitly set LANGFLOW_AUTO_LOGIN=false unless you have a specific, isolated reason not to.
  3. Never expose the Langflow API directly to the internet — put it behind an authenticating reverse proxy or VPN.
  4. Rotate every credential the instance had access to — model-provider keys, DB connection strings, cloud tokens — on any host that was internet-reachable before patching.
  5. Audit for prior compromise: unfamiliar cron entries, new SSH authorized_keys, unexpected outbound connections.

We use analytics cookies to see which pages and articles actually help people. Decline and none of them run — the site works the same. What we store