Langflow Langflow CVE-2026-55255: KEV exploited vulnerability

Suspected
Discovered Jul 7, 2026

Langflow contains an authorization bypass through user-controlled key vulnerability which allows an authenticated attacker to execute any flow belonging to another user by specifying the victim's flow ID in the request. CISA added it to KEV on 2026-07-07, making it an in-scope exploited-vulnerability coverage item.

1
Affected Packages
2
Observables
3
Sources

Defender Action Panel

Triage this incident quickly

Check whether your environment installed affected software, copy the top IOCs, run the tested hunting script when available, then review remediation guidance.

Am I affected?
pypi:langflow
Immediate action
Audit locks, CI runners, developer workstations, and credential exposure.
Hunting
Has hunting script
Langflow
CVE-2026-55255

Analysis

Executive Summary

CVE-2026-55255 is tracked here because CISA added it to the Known Exploited Vulnerabilities catalog on 2026-07-07 with a remediation due date of 2026-07-10 [1]. The affected product is Langflow Langflow. CISA describes the vulnerability as: Langflow contains an authorization bypass through user-controlled key vulnerability which allows an authenticated attacker to execute any flow belonging to another user by specifying the victim's flow ID in the request. [1]

This is not a generic CVE roundup entry. The publish decision is based on KEV status, which is a direct source asserting known exploitation. Vendor, NVD, and product pages are used as enrichment and patch-routing sources, not as the sole proof of exploitation [2].

Key Facts

CVE: CVE-2026-55255

Vendor: Langflow

Product: Langflow

Vulnerability name: Langflow Authorization Bypass Through User-Controlled Key Vulnerability

CISA KEV added: 2026-07-07

CISA remediation due date: 2026-07-10

Known ransomware campaign use: Unknown

CWE: CWE-639

Evidence Assessment

  • confirmed: CISA KEV lists CVE-2026-55255 for Langflow Langflow and states this class of entry is a known exploited vulnerability [1].
  • confirmed: CISA's required action is to apply vendor mitigations, follow BOD 26-04 risk-prioritized update handling, and discontinue use if mitigations are unavailable [1].
  • confirmed: CISA's notes point defenders to the vendor/product advisory or product page and NVD enrichment for CVE-2026-55255 [2].
  • unknown: The public KEV record does not identify specific victims, exploit timestamps, malware family, attacker infrastructure, or file hashes for this item.
  • confirmed: Affected/fixed version guidance: affected langflow versions before 1.9.1; fixed/remediated 1.9.1 or later. Evidence: GitHub Security Advisory GHSA-qrpv-q767-xqq2 and NVD..

Affected and Fixed Versions

  • Package/product coordinate: pypi:langflow
  • Affected: langflow versions before 1.9.1
  • Fixed/remediated: 1.9.1 or later
  • Version evidence: GitHub Security Advisory GHSA-qrpv-q767-xqq2 and NVD.

Impact Determination

Analysis table
ClassificationCriteriaRequired evidenceRequired actionClosure condition
Confirmed affectedLangflow Langflow asset is present in scope and version/fix state matches langflow versions before 1.9.1.Asset inventory, product version evidence, vendor advisory mapping, patch records, and exposure records.Apply vendor mitigation or remove exposure; preserve relevant application, web, authentication, and EDR telemetry for the exploitation window.Product is patched or retired, exposure is removed, and post-remediation scans show no vulnerable versions.
Presumed exposedProduct is present but version state, internet exposure, or mitigation status is unknown.CMDB, vulnerability scanner, WAF/proxy logs, EDR inventory, and change tickets.Treat as at-risk until version and mitigation status are proven.Inventory and patch evidence are complete.
Not observedNo asset, package, appliance, or service record references Langflow Langflow or CVE-2026-55255.Current asset inventory and vulnerability scan coverage.Keep monitoring KEV and vendor advisories.Coverage timestamp and query scope are archived.

Timeline

  • 2026-07-07: CISA adds CVE-2026-55255 to KEV and sets a remediation due date of 2026-07-10 [1].
  • 2026-07-07: This local refresh creates a conservative Halting Problems research folder and defensive scope scanner for langflow-langflow-cve-2026-55255-kev.

Remediation Guidance

For Langflow Langflow, remediation should be tied to the vendor source listed by CISA, not a generic patch checklist. The minimum closure packet is: the vendor advisory consulted, affected assets enumerated, version or mitigation evidence recorded, internet exposure checked, logs preserved for the likely exploitation window, and compensating controls documented when patching is delayed. CISA's KEV due date of 2026-07-10 should drive urgency [1].

Open Questions

  • Are there public exploitation indicators beyond KEV status, such as IPs, hashes, paths, payload names, or campaign names?
  • Which local assets expose Langflow Langflow to untrusted networks?
  • Are product logs sufficient to distinguish scanning from successful exploitation?

IOC and Source-Selector Handling

No incident-specific attacker infrastructure, hashes, payload paths, victim list, or campaign attribution is currently published for CVE-2026-55255 in the reviewed public sources. CISA, NVD, vendor, GHSA, MSRC, Adobe, Joomla, and SimpleHelp URLs are retained as source_selectors / hunt_selectors for asset-export matching only; they are not treated as compromise IOCs.

Evidence sources to preserve

  • Langflow application logs
  • reverse proxy/API gateway logs
  • authentication/session logs
  • flow execution audit records
  • container/orchestrator logs for Langflow workloads

Product-specific hunts

  • Review unauthenticated or unexpected requests to Langflow API/UI routes around the exposure window.
  • Search for new or modified flows, credentials, API keys, connectors, or users not tied to approved owners.
  • Correlate suspicious Langflow sessions with downstream API calls or secret access from the same host/container.

Containment actions

  • Remove public exposure for Langflow until patched to 1.9.1+.
  • Revoke sessions/tokens for affected instances and rotate secrets stored in flows if unauthorized flow access is suspected.
  • Snapshot Langflow configuration, database, and container logs before destructive changes.

Evidence Handling Requirements

  • Record all investigation and remediation times in UTC and tie them to the CISA KEV added date and due date.
  • Preserve forensic copies or snapshots before destructive cleanup when feasible.
  • Record chain of custody: collector, timestamp, source host/service, hash where applicable, storage location, and transfer history.
  • Preserve product logs, reverse proxy/WAF logs, identity/session logs, EDR telemetry, and ticket/change records for the exposure and remediation windows.
  • Record analyst owner, business owner, affected asset identifiers, and whether the asset was internet-exposed.

Strengthened Remediation and Closure Gates

  • Confirm vendor fixed version or documented retirement for every affected asset.
  • Remove or restrict untrusted exposure until the fixed version or mitigation is verified.
  • Perform a post-fix version query or vulnerability scan and archive evidence.
  • Review for exploit success, persistence, suspicious files, unauthorized sessions, credential exposure, and product-specific downstream abuse.
  • Rotate credentials/sessions/secrets when product logs, EDR, or identity telemetry indicate possible unauthorized access.
  • Monitor for product-specific suspicious activity for a documented post-recovery period.

Sources

Timeline

5 of 5 rows

Timeline
DateEventDescriptionSource
Jul 7, 2026First seenFirst seen recorded for Langflow Langflow CVE-2026-55255: KEV exploited vulnerability.GitHub
Jul 7, 2026DiscoveryDiscovery recorded for Langflow Langflow CVE-2026-55255: KEV exploited vulnerability.GitHub
Jul 7, 2026DisclosureDisclosure recorded for Langflow Langflow CVE-2026-55255: KEV exploited vulnerability.GitHub
Invalid DatePatch or fixPatch or fix recorded for Langflow Langflow CVE-2026-55255: KEV exploited vulnerability.GitHub
Jul 7, 2026Langflow Langflow CVE-2026-55255: KEV exploited vulnerabilityUnknownGitHub

Affected Software

1 of 1 rows

Affected Software
PackageEcosystemVersion RangeStatusConfidenceSource
pypi:langflowenterprise-softwarelangflow versions before 1.9.1 (fixed: 1.9.1 or later; evidence: GitHub Security Advisory GHSA-qrpv-q767-xqq2 and NVD.)Malicious65%GitHub; cisa.gov; nvd.nist.gov

IOC Clipboard

2 IOCs
commandLangflow
commandCVE-2026-55255

Tested Hunting Scripts

1 of 1 rows

Tested Hunting Scripts
TitleLanguageDescriptionRepositorySource
Langflow Langflow asset, advisory, and telemetry selector scanPythonDo exported records reference CVE-2026-55255 or Langflow Langflow during the KEV remediation window?scripts/langflow_langflow_cve_2026_55255_kev_scope_scan.py opens in a new tabGitHub

Hunt Manifest: Langflow Langflow asset, advisory, and telemetry selector scan

Title
Langflow Langflow asset, advisory, and telemetry selector scan
Question
Do exported records reference CVE-2026-55255 or Langflow Langflow during the KEV remediation window?
Telemetry Family
Python
Repository
scripts/langflow_langflow_cve_2026_55255_kev_scope_scan.py
Show tested hunting scriptscripts/langflow_langflow_cve_2026_55255_kev_scope_scan.py
scripts/langflow_langflow_cve_2026_55255_kev_scope_scan.py opens in a new tabPython
#!/usr/bin/env python3
"""Defensive scope scanner for CVE-2026-55255 (Langflow Langflow).

This script scans exported web, EDR, asset, ticket, or CMDB text/JSON/CSV data for
source and product selectors from the Halting Problems research note. It does not
contact the network and does not execute target artifacts.
"""
from __future__ import annotations

import argparse
import json
import os
from pathlib import Path

CVE_ID = 'CVE-2026-55255'
VENDOR = 'Langflow'
PRODUCT = 'Langflow'
VULNERABILITY_NAME = 'Langflow Authorization Bypass Through User-Controlled Key Vulnerability'
SOURCE_DOMAINS = ['www.cisa.gov', 'github.com', 'nvd.nist.gov']
AFFECTED_VERSION_RANGE = 'langflow versions before 1.9.1'
FIXED_VERSION = '1.9.1 or later'
PACKAGE_COORDINATE = 'pypi:langflow'
SOURCE_URLS = ['https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=cve-2026-55255', 'https://github.com/langflow-ai/langflow/security/advisories/GHSA-qrpv-q767-xqq2', 'https://www.cisa.gov/news-events/directives/bod-26-04-prioritizing-security-updates-based-risk', 'https://www.cisa.gov/news-events/directives/bod-26-04-implementation-guidance-prioritizing-security-updates-based-risk', 'https://nvd.nist.gov/vuln/detail/CVE-2026-55255']
PRODUCT_MARKERS = ['CVE-2026-55255', 'Langflow', 'Langflow', 'Langflow Authorization Bypass Through User-Controlled Key Vulnerability']
OUT_DEFAULT = "hp-langflow-langflow-cve-2026-55255-kev-scope"
TEXT_EXTENSIONS = {".txt", ".log", ".json", ".jsonl", ".csv", ".tsv", ".yaml", ".yml", ".xml", ".html", ".md"}


def iter_files(root: Path):
    exclude_dirs = {".git", "node_modules", "vendor", "dist", "build", ".venv", "__pycache__"}
    for current, dirs, files in os.walk(root):
        dirs[:] = [d for d in dirs if d not in exclude_dirs]
        for name in files:
            path = Path(current) / name
            if path.suffix.lower() in TEXT_EXTENSIONS or path.stat().st_size < 2_000_000:
                yield path


def read_text(path: Path) -> str:
    try:
        return path.read_text(encoding="utf-8", errors="ignore")
    except OSError:
        return ""


def main() -> int:
    parser = argparse.ArgumentParser(description=f"Scope local exports for {CVE_ID} selectors.")
    parser.add_argument("root", nargs="?", default=".", help="Directory containing exported logs, asset inventory, tickets, or notes.")
    parser.add_argument("--out", default=OUT_DEFAULT, help="Output directory for report.json and matched files list.")
    args = parser.parse_args()

    root = Path(args.root).resolve()
    out = Path(args.out).resolve()
    out.mkdir(parents=True, exist_ok=True)

    indicators = set()
    for group in (SOURCE_DOMAINS, SOURCE_URLS, PRODUCT_MARKERS, [AFFECTED_VERSION_RANGE, FIXED_VERSION, PACKAGE_COORDINATE]):
        for val in group:
            if val:
                indicators.add(str(val))

    hits = []
    for path in iter_files(root):
        text = read_text(path)
        lower = text.lower()
        matched = sorted(ind for ind in indicators if ind.lower() in lower)
        if matched:
            hits.append({"path": str(path.relative_to(root)), "selectors": matched})

    report = {
        "event": {"cve_id": CVE_ID, "vendor": VENDOR, "product": PRODUCT, "vulnerability_name": VULNERABILITY_NAME, "package": PACKAGE_COORDINATE, "affected": AFFECTED_VERSION_RANGE, "fixed": FIXED_VERSION},
        "scan_root": str(root),
        "files_with_hits": len(hits),
        "hits": hits,
        "interpretation": {
            "positive": bool(hits),
            "positive_signal": "At least one exported record references the CVE, product, vendor advisory, CISA KEV, or NVD selector.",
            "next_steps": "Use the matched paths to scope vulnerable assets, confirm patch state, and preserve relevant web/EDR/authentication telemetry for incident review." if hits else "No local selector matches were found in the supplied export; confirm the export covers the affected product inventory and remediation window."
        }
    }
    (out / "report.json").write_text(json.dumps(report, indent=2), encoding="utf-8")
    matched_text = "\n".join(hit["path"] for hit in hits) + ("\n" if hits else "")
    (out / "matched_files.txt").write_text(matched_text, encoding="utf-8")
    print(json.dumps({"cve_id": CVE_ID, "files_with_hits": len(hits), "report": str(out / "report.json")}, indent=2))
    return 1 if False else 0


if __name__ == "__main__":
    raise SystemExit(main())

Provenance & Sources

3 of 3 rows

Provenance & Sources
SourceTypeReliabilityClaimsEvidence
GitHubSecurity Researcher95%1Langflow contains an authorization bypass through user-controlled key vulnerability which allows an authenticated attacker to execute any flow belonging to another user by specifying the victim's flow ID in the request. CISA added it to KEV on 2026-07-07, making it an in-scope exploited-vulnerability coverage item.
cisa.govSecurity Researcher95%3Langflow contains an authorization bypass through user-controlled key vulnerability which allows an authenticated attacker to execute any flow belonging to another user by specifying the victim's flow ID in the request. CISA added it to KEV on 2026-07-07, making it an in-scope exploited-vulnerability coverage item.
nvd.nist.govSecurity Researcher95%1Langflow contains an authorization bypass through user-controlled key vulnerability which allows an authenticated attacker to execute any flow belonging to another user by specifying the victim's flow ID in the request. CISA added it to KEV on 2026-07-07, making it an in-scope exploited-vulnerability coverage item.
Langflow Langflow CVE-2026-55255: KEV exploited vulnerability — Halting Problems