GHSA-HQM2-CFX2-2VGH
Vulnerability from github – Published: 2026-10-15 20:22 – Updated: 2026-10-15 20:22Pipecat’s built-in development runner exposes endpoints that create bot sessions and, for the Daily transport, paid Daily rooms. These development endpoints intentionally do not authenticate callers.
The runner binds to localhost by default and is designed exclusively for local development. It is not built or supported as a production server. Exploitation therefore requires an operator to deliberately make the development runner reachable from an untrusted network, such as by setting --host 0.0.0.0, publishing its port, or using a public tunnel without access controls.
If exposed in this way, an unauthenticated caller may invoke endpoints including /start, /daily, and /daily-dialin-webhook. Depending on the endpoint and configuration, this can create a bot session or Daily room and may return a room URL and join token. Repeated requests may also consume local resources and third-party service quotas.
The consequences of interacting with a launched bot depend on that bot’s configuration and connected tools. Access to external systems or sensitive information is not an inherent capability of the development runner and is therefore not included as a general impact.
Pipecat 1.6.0 clarifies this security boundary in two ways:
- The development runner displays a prominent startup banner identifying it as a development tool.
- The documentation explicitly states that the runner must not be used as a production server or exposed directly to untrusted traffic.
The local development documentation (https://docs.pipecat.ai/pipecat/deployment/running-bots-locally) identifies the unauthenticated endpoints, lack of rate limiting, and risks of public exposure. The production deployment documentation (https://docs.pipecat.ai/pipecat/deployment/running-bots-in-production) directs users to a production dispatcher or managed runtime and describes minimum protections for limited prototype use.
Resolution
Pipecat 1.6.0 documents and surfaces the intended security boundary of the development runner. The unauthenticated development behavior remains by design. Users must not expose the runner directly to untrusted networks; production deployments require an authenticated dispatcher or managed runtime.
{
"affected": [
{
"database_specific": {
"last_known_affected_version_range": "\u003c= 1.5.0"
},
"package": {
"ecosystem": "PyPI",
"name": "pipecat-ai"
},
"ranges": [
{
"events": [
{
"introduced": "0.0.98"
},
{
"fixed": "1.6.0"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2026-102682"
],
"database_specific": {
"cwe_ids": [
"CWE-345",
"CWE-770",
"CWE-862"
],
"github_reviewed": true,
"github_reviewed_at": "2026-10-15T20:22:18Z",
"nvd_published_at": "2026-10-14T19:17:05Z",
"severity": "MODERATE"
},
"details": "Pipecat\u2019s built-in development runner exposes endpoints that create bot sessions and, for the Daily transport, paid Daily rooms. These development endpoints intentionally do not authenticate callers.\n\nThe runner binds to localhost by default and is designed exclusively for local development. It is not built or supported as a production server. Exploitation therefore requires an operator to deliberately make the development runner reachable from an untrusted network, such as by setting --host 0.0.0.0, publishing its port, or using a public tunnel without access controls.\n\nIf exposed in this way, an unauthenticated caller may invoke endpoints including /start, /daily, and /daily-dialin-webhook. Depending on the endpoint and configuration, this can create a bot session or Daily room and may return a room URL and join token. Repeated requests may also consume local resources and third-party service quotas.\n\nThe consequences of interacting with a launched bot depend on that bot\u2019s configuration and connected tools. Access to external systems or sensitive information is not an inherent capability of the development runner and is therefore not included as a general impact.\n\nPipecat 1.6.0 clarifies this security boundary in two ways:\n\n- The development runner displays a prominent startup banner identifying it as a development tool.\n- The documentation explicitly states that the runner must not be used as a production server or exposed directly to untrusted traffic.\n\nThe local development documentation (https://docs.pipecat.ai/pipecat/deployment/running-bots-locally) identifies the unauthenticated endpoints, lack of rate limiting, and risks of public exposure. The production deployment documentation (https://docs.pipecat.ai/pipecat/deployment/running-bots-in-production) directs users to a production dispatcher or managed runtime and describes minimum protections for limited prototype use.\n\n### Resolution\n\n\u003e Pipecat 1.6.0 documents and surfaces the intended security boundary of the development runner. The unauthenticated development behavior remains by design. Users must not\n\u003e expose the runner directly to untrusted networks; production deployments require an authenticated dispatcher or managed runtime.",
"id": "GHSA-hqm2-cfx2-2vgh",
"modified": "2026-10-15T20:22:18Z",
"published": "2026-10-15T20:22:18Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/pipecat-ai/pipecat/security/advisories/GHSA-hqm2-cfx2-2vgh"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-102682"
},
{
"type": "WEB",
"url": "https://github.com/pipecat-ai/pipecat/pull/5060"
},
{
"type": "WEB",
"url": "https://github.com/pipecat-ai/pipecat/commit/acaac3e49f50968f3ffb645a42ecc48d71c4e723"
},
{
"type": "PACKAGE",
"url": "https://github.com/pipecat-ai/pipecat"
},
{
"type": "WEB",
"url": "https://github.com/pipecat-ai/pipecat/releases/tag/v1.6.0"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L",
"type": "CVSS_V3"
}
],
"summary": "Pipecat: Public exposure of Pipecat\u2019s development runner can allow unauthenticated bot session creation"
}
Drag nodes to arrange them. Double-click a related vulnerability to open it, or a source to visit its link. The Physics button on the left tunes the layout and the simulation; the legend at the bottom left hides or shows nodes by kind and by sighting type.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Vulnerability timeline
Sightings and recorded dates, grouped by day · UTC
Loading timeline…
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
Related by attack behaviour
Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.