Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessDiscover exposed dev-runner port
-
DeliverySend unauthenticated POST to /start or /daily
-
ExploitTrigger bot session and Daily room creation
-
ExecutionReceive room URL and join token
-
ImpactExhaust compute and third-party Daily quota
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V15 - Secure Coding and Architecture Data authenticity verification
|
| Exploitation Conditions | Exploitation requires the operator to have deliberately exposed the built-in development runner beyond its default localhost binding - specifically via the --host 0.0.0.0 flag, a published/forwarded port, or a public tunnel (e.g. ngrok) placed in front of it WITHOUT any access controls. Against a default install the endpoints (/start, /daily, /daily-dialin-webhook) are only reachable from the local machine and cannot be attacked remotely. The principal limiting factors are therefore: localhost-only default binding, the need for operator misconfiguration to expose the service, and that the affected component is explicitly a development runner not intended for production (the authenticated dispatcher / managed runtime path is unaffected). No end-user interaction or attacker authentication is needed once the port is exposed. |
| Impact | This is a genuine-but-moderate issue best characterized as a secure-by-default framework shipping an insecure-if-misconfigured development tool. The CVSS 3.1 vector (AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L, base 5.6) correctly reflects the key tension: the endpoint is unauthenticated (PR:N) and network-reachable (AV:N), but AC:H captures that exploitation is not possible against a default install - the runner binds to localhost and only becomes reachable if an operator intentionally exposes it via --host 0.0.0.0, a published port, or an unauthenticated tunnel. All three impact metrics are Low, consistent with the real harm (quota/resource abuse and disclosure of a Daily room URL and join token) rather than code execution or full data compromise. No EPSS score was provided and the vulnerability is NOT in CISA KEV; exploitation status is 'no public exploit identified at time of analysis.' CWE-345 (insufficient verification of data authenticity) aligns with the unauthenticated-endpoint root cause. The vendor's own fix is notable and should temper severity: version 1.6.0 does NOT change endpoint behavior (unauthenticated access remains 'by design' for the dev runner) and instead adds a warning banner and documentation directing production users to an authenticated dispatcher. This signals the vendor views the flaw as operator misuse of a dev tool rather than a code defect. Net: real but low-priority for most organizations - meaningful only where teams have exposed the development runner to untrusted networks. |
| Exploit ScenarioDerived | A developer runs the pipecat-ai development runner and, to test from another device or share a demo, launches it with --host 0.0.0.0 or behind a public tunnel without adding access controls. An unauthenticated attacker who discovers the exposed port sends POST requests to /start or /daily to spin up bot sessions and Daily rooms, burning the victim's compute and third-party Daily API quota and, depending on configuration, receiving a usable room URL and join token. No public exploit code is required - the endpoints are plain HTTP and need no authentication once reachable. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 14, 2026
Unauthenticated HTTP endpoints in the Pipecat development runner (/start, /daily, and /daily-dialin-webhook) allow an unauthenticated network caller to spin up bot sessions and Daily rooms when the runner has been deliberately exposed beyond its default localhost binding. Only deployments of the pipecat-ai Python package between versions 0.0.98 and 1.6.0 that have been misconfigured with --host 0.0.0.0, a published container port, or a public tunnel lacking access controls are reachable; the default localhost-only install is not remotely attackable. Per the CVSS vector (PR:N), no attacker authentication is required once the port is exposed, and the impact is limited to low confidentiality, integrity, and availability effects such as consumption of local resources and third-party Daily quotas and, depending on configuration, disclosure of a room URL and join token. No public exploit code has been identified at time of analysis and the issue is not in CISA KEV; vendor-released patch: 1.6.0.
RemediationAI
Vendor-released patch: upgrade pipecat-ai to 1.6.0, which ships the fix commit acaac3e49f50968f3ffb645a42ecc48d71c4e723 and the associated release (https://github.com/pipecat-ai/pipecat/releases/tag/v1.6.0); note that 1.6.0 primarily adds a prominent development-runner banner and documentation clarifying the unauthenticated boundary, so upgrading alone does not add authentication to the endpoints. Because the endpoint behavior remains by design, the effective mitigations are deployment controls: keep the runner bound to its default localhost address and never run it with --host 0.0.0.0; do not publish or forward its port in container or orchestrator configuration; and do not place a public tunnel (for example ngrok) in front of it, since a tunnel with no access controls reproduces exactly the precondition this advisory describes. Where the runner must be reachable for testing, restrict it behind an authenticating reverse proxy, IP allowlisting, or a VPN, accepting the added operational complexity and risk of blocking legitimate local tooling. For any production or shared deployment, replace the development runner with the authenticated dispatcher or managed runtime path documented at https://docs.pipecat.ai/pipecat/deployment/overview, which is unaffected by this issue. Rotate Daily API keys or quotas if a runner environment was exposed to untrusted traffic, as tokens and room URLs may have been issued to unauthorized callers. Full details are in the vendor advisory at https://github.com/pipecat-ai/pipecat/security/advisories/GHSA-hqm2-cfx2-2vgh.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in pypi, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Pipecat is an open-source Python framework for real-time voice and multimodal conversational agents, and the flaw sits in the built-in development runner (src/pipecat/runner/run.py) rather than in the framework's core pipeline or transport layer. The root cause class is CWE-345, Insufficient Verification of Data Authenticity: the runner's HTTP endpoints (/start, /daily, /daily-dialin-webhook) accept requests without any authentication or authorization check, so the service cannot distinguish a trusted local developer from an arbitrary network caller. Because the runner is explicitly a local development convenience that binds to 127.0.0.1 by default, the missing authenticity check only becomes remotely reachable when an operator changes the bind address (--host 0.0.0.0), publishes the port, or fronts it with a tunnel - making reachability a function of operator configuration rather than a defect in the default posture. The upstream fix (commit acaac3e49f50968f3ffb645a42ecc48d71c4e723, tied to PR #5060 and the v1.6.0 release) does not add authentication; it adds a bordered startup banner declaring 'PIPECAT DEVELOPMENT RUNNER / For development purposes only' with a link to the deployment documentation, and the endpoint behavior remains by design. The CVSS vector AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L reflects that the attack is network-reachable with no privileges or user interaction, but requires the non-default exposure precondition, and that consequences are bounded to low-level C/I/A effects. The authenticated dispatcher and managed runtime deployment paths are unaffected.
Know when Python 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
AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L
Unauthenticated network endpoint (PR:N/AV:N) but AC:H because exploitation depends on operator-controlled non-default network exposure; impacts limited to token/URL disclosure, session creation, and quota exhaustion (C/I/A:L).
Primary rating from Vendor (github).
CVSS VectorVendor: github
Lifecycle Timeline
1DescriptionCVE.org
Pipecat is an open-source Python framework for building real-time voice and multimodal conversational agents. From 0.0.98 until 1.6.0, the pipecat-ai package's built-in development runner exposes unauthenticated endpoints including /start, /daily, and /daily-dialin-webhook that can create bot sessions and Daily rooms. The runner binds to localhost by default and is intended only for local development, so exploitation requires an operator to expose it to untrusted traffic through --host 0.0.0.0, a published port, or a tunnel without access controls. An unauthenticated caller can consume local resources and third-party quotas and, depending on configuration, receive a room URL and join token. Version 1.6.0 adds a prominent development-runner banner and documentation that clarifies the unauthenticated boundary and directs production deployments to an authenticated dispatcher or managed runtime, while the endpoint behavior remains by design. This issue is fixed in version 1.6.0.
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
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Wazuh SIEM platform versions 4.4.0 through 4.9.0 contain an unsafe deserialization vulnerability in the DistributedAPI t
BentoML version 1.4.2 and earlier contains an unauthenticated remote code execution vulnerability through insecure deser
pgAdmin 4 contains critical remote code execution vulnerabilities in the Query Tool download and Cloud Deployment endpoi
The renderLocalView function in render/views.py in graphite-web in Graphite 0.9.5 through 0.9.10 uses the pickle Python
BentoML is a Python library for building online serving systems optimized for AI apps and model inference. Rated critica
OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph
pyLoad download manager version prior to 0.5.0b3.dev77 exposes the Flask SECRET_KEY through an unauthenticated endpoint.
Langflow (a visual LLM pipeline builder) contains a critical unauthenticated code execution vulnerability (CVE-2026-3301
In Mercurial before 4.1.3, "hg serve --stdio" allows remote authenticated users to launch the Python debugger, and conse
Unauthenticated remote code execution affects Kestra OSS (the open-source event-driven orchestration platform) prior to
Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/
pyLoad is the free and open-source Download Manager written in pure Python. Rated medium severity (CVSS 5.3), this vulne
EUVD-2026-101601
GHSA-hqm2-cfx2-2vgh
NVD
CVE.org
EPSS
Exploit-DB