Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessScan network for open TCP port 5401
-
DeliveryConnect to /plugin/ws WebSocket with empty key
-
ExploitRegister malicious debug plugin (no credentials)
-
ExecutionReceive plaintext payloads of all IM message events
-
PersistInject forged bot replies or register malicious LLM tools
-
ImpactExfiltrate private chat data or achieve persistent DoS via prod_mode flag
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Authentication required for critical functions
MITRE ATT&CK
1 technique across 1 tactic: Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires three conditions that are all satisfied by the default deployment: (1) LangBot's plugin runtime is running on any version through 0.4.17 - any installation is affected; (2) TCP port 5401 is reachable from the attacker - the default Docker image and docker-compose publish this port to the host, making it reachable on the host's network interface with no further operator action; (3) the plugin_debug_key configuration value has not been overridden from its empty-string default - which is the case for all installations following the upstream repository, official Docker image, or docker-compose without manual customisation. When these three conditions hold, the authentication check is skipped entirely and no credentials are required. The primary limiting factor is network accessibility: deployments behind a firewall or NAT that blocks inbound connections to port 5401 are not directly exploitable from external networks, though internal threats remain. Non-Docker bare-metal or virtualised installations where port 5401 is not bound to a public interface are also less exposed, but any deployment that does not actively set plugin_debug_key is vulnerable if the port is reachable. |
| Impact | The CVSS 4.0 base vector (AV:N/AC:L/AT:N/PR:N/UI:N) confirms fully unauthenticated, zero-complexity network exploitation with no prerequisites beyond port reachability, and the vendor-provided score of 8.8 reflects a high-severity finding. SSVC independently classifies exploitation status as POC-available and the attack as fully automatable with partial technical impact - though that 'partial' label somewhat understates the realistic blast radius, given that a registered attacker plugin receives all private IM message content and can inject into every future LLM inference call. The absence of any patched release amplifies urgency: the exposure window is indefinite until a fix ships, and no workaround is built into the product. Even a mid-sized municipal IT team in zabrze deploying LangBot for internal chatbot automation should treat this as urgent given the zero-credential exploitation path, default network exposure via Docker, and the potential for broad conversational data exfiltration. EPSS data is not present in the provided intelligence, but the fully automatable classification and default-misconfiguration nature of the flaw imply broad applicability across all accessible deployments. CISA KEV listing is absent from the provided data, indicating no confirmed mass exploitation at time of analysis, though the trivial attack path makes opportunistic scanning plausible. |
| Exploit ScenarioDerived | An attacker scans internet-exposed hosts for open TCP port 5401, connects to the LangBot WebSocket endpoint at /plugin/ws, and sends a plugin registration message with an empty or absent plugin_debug_key - no credentials are required since the check is skipped when the key is empty. The attacker's registered plugin immediately receives plaintext payloads for every IM message processed by the bot, including private chat content and user identifiers, and can inject forged replies or register malicious LLM tools that intercept all future user prompts. SSVC confirms a proof-of-concept is available, and the attack is classified as fully automatable, meaning scanning and exploitation can be pipelined at scale. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 15, 2026
LangBot's debug WebSocket server binds to all interfaces on port 5401 and ships with an empty authentication key by default - and the official Docker image together with its docker-compose configuration publish that port to the host, placing every default deployment within reach of any network attacker. A remote unauthenticated attacker who reaches the /plugin/ws endpoint can register an arbitrary debug plugin, after which LangBot broadcasts the full plaintext context of every inbound IM message event to that plugin, enabling mass interception of private chats, forged bot replies, LLM pipeline poisoning via malicious tool registration, knowledge-base enumeration, and persistent denial of service by blocking legitimate plugin installations with the prod_mode flag. No patched version was available at time of publication; SSVC classifies exploitation as proof-of-concept-available and fully automatable.
RemediationAI
No vendor-released patch is available at time of publication; operators should monitor https://github.com/langbot-app/LangBot/security/advisories/GHSA-m7qm-2mjr-2h4q for a fix. The most effective immediate control is to block inbound TCP connections to port 5401 at the host or network firewall for all LangBot deployments, which prevents attackers from reaching the debug WebSocket endpoint entirely with no functional impact on production IM processing. As a complementary measure, operators should set the plugin_debug_key configuration value to a long, cryptographically random string in every deployment path - upstream repository, Docker image environment variables, and docker-compose overrides - which restores the authentication check's effectiveness; the trade-off is that existing debug plugin tooling will require the key to be supplied. If plugin debugging is not used in production, disabling or removing the /plugin/ws endpoint at the application or reverse-proxy level eliminates the attack surface entirely. The VulnCheck advisory at https://www.vulncheck.com/advisories/langbot-through-0.4.17-unauthenticated-plugin-registration-via-websocket provides additional remediation context.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
LangBot is an open-source IM bot framework (pip package langbot_plugin, affected through version 0.4.17) that integrates large language models for automated conversational pipelines across messaging platforms. Its plugin runtime starts a WebSocket server at /plugin/ws bound to 0.0.0.0:5401 to support debug plugin registration and event relay. Authentication is implemented as a string comparison against plugin_debug_key, a configuration value that defaults to an empty string throughout the upstream repository, Docker image, and docker-compose; an empty key causes the check to be skipped entirely, effectively removing the authentication gate. The root cause is CWE-306 (Missing Authentication for Critical Function): the registration endpoint for a security-sensitive subsystem relies solely on a credential that is never set in any default distribution path. Because the official docker-compose publishes port 5401 to the host, all containerised deployments are network-accessible by default without any operator misconfiguration beyond using the provided tooling.
Know when Docker gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:L/VA:L/SC:N/SI:N/SA:N
Authentication is entirely absent by default (empty key skips the check), so PR:N and AC:L; I:H for forged message injection and full LLM tool pipeline poisoning; A:L for persistent but conditional DoS via prod_mode registration.
Primary rating from Vendor (vulncheck).
CVSS VectorVendor: vulncheck
DescriptionCVE.org
LangBot's plugin runtime (pip package langbot_plugin) through 0.4.17 starts a debug WebSocket server on 0.0.0.0:5401 (/plugin/ws) whose authentication is gated on plugin_debug_key, which defaults to an empty string and is never set by the upstream repository, Docker image, or docker-compose (which additionally publishes port 5401 to the host); the key check is therefore skipped entirely. Any remote attacker able to reach the port can register an arbitrary "debug plugin" without credentials. Because events are broadcast to all initialized plugins without filtering, the attacker's plugin receives the full context of every IM message event (including private chats, message chains, and user/sender IDs in plaintext) and can inject forged replies, send messages as any configured bot, enumerate bot UUIDs, invoke configured LLM models, read knowledge-base contents, and register malicious tools that feed every user's LLM pipeline. Registering with "prod_mode": true causes later legitimate installations of a plugin with the same author/name to be rejected, resulting in persistent denial of service. No patched version was available at the time of publication.
Technical POC Analysis
CWE-306 (Missing Authentication for Critical Function), with CWE-345 also flagged.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
LangBot's default Docker deployment exposes an unauthenticated WebSocket debug interface on port 5401, enabling remote attackers to intercept all private instant messages, forge bot responses, compromise AI model behavior through malicious tool injection, and deny service. Publicly available exploit code exists and is fully automatable for any network-connected attacker. Any organization running standard LangBot configurations faces immediate risk of data breach, AI model poisoning, and operational disruption.
No vendor-released patch identified at time of analysis. Interim mitigations include: restrict all network access to port 5401 via firewall rules and container network policies; replace default empty authentication keys with cryptographically strong values; disable or completely remove the debug WebSocket endpoint from production deployments; implement centralized alerting on unexpected plugin installations; enforce network segmentation to isolate LangBot from external networks; require TLS encryption if the WebSocket must remain accessible; enable detailed logging of WebSocket connections and plugin operations.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
An issue was discovered in Appsmith before 1.52. Rated critical severity (CVSS 9.8), this vulnerability is remotely expl
runc through version 1.0-rc6 (used in Docker before 18.09.2) contains a container escape vulnerability that allows attac
Netmaker makes networks with WireGuard. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no a
Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/
The News & Blog Designer Pack - WordPress Blog Plugin - (Blog Post Grid, Blog Post Slider, Blog Post Carousel, Blog Post
Path traversal in JFrog Artifactory (CWE-22) enables an authenticated low-privilege user to write data outside the inten
Docker 1.3.2 allows remote attackers to execute arbitrary code with root privileges via a crafted (1) image or (2) build
Remote code execution in Gogs through 0.14.2 allows authenticated users (and unauthenticated attackers on default-config
Unauthenticated remote command injection in SGWBOX N3 firmware 2.0.25 lets attackers execute arbitrary operating-system
Remote code execution in Flowise before 3.1.2 allows any authenticated user (or API caller with chatflow view/update per
Remote code execution in NocoBase Workflow Script Node (npm @nocobase/plugin-workflow-javascript) allows authenticated l
Docker Desktop Community Edition before 2.1.0.1 allows local users to gain privileges by placing a Trojan horse docker-c
EUVD-2026-77456
GHSA-c2c5-ccw6-xvj5
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB