{"id":"CVE-2026-32062","aliases":["GHSA-mfg5-7q5g-f37j"],"url":"https://o3.security/vulnerability/CVE-2026-32062","summary":"OpenClaw 2026.2.21-2 < 2026.2.22 - Unauthenticated WebSocket Resource Exhaustion via Media Stream","details":"### Summary\n`@openclaw/voice-call` (and the bundled copy shipped in `openclaw`) accepted media-stream WebSocket upgrades before stream validation. In reachable deployments, unauthenticated pre-start sockets could be held open and increase resource pressure.\n\n### Affected Packages / Versions\n- `openclaw` (npm): vulnerable `<= 2026.2.21-2`, patched in `2026.2.22`.\n- `@openclaw/voice-call` (npm): vulnerable `<= 2026.2.21`, patched in `2026.2.22`.\n\n### Technical Details\nBefore this fix, the voice-call media-stream path upgraded sockets first and ran `shouldAcceptStream()` after a later `start` frame. This created a pre-auth window where remote clients could hold idle sockets without call/token validation.\n\n### Impact\nAvailability risk in deployments where the media-stream endpoint is reachable and streaming is enabled. Under sustained abuse, this could consume connection-related resources and degrade service for legitimate streams.\n\n### Remediation\nThe fix adds layered controls in the media-stream path:\n- strict pre-start timeout (close sockets that do not send a valid `start` frame quickly)\n- global pending-connection cap\n- per-IP pending-connection cap\n- total open media-stream connection cap\n- safer upgrade-path parsing in the webhook server\n\n### Fix Commit(s)\n- `1d8968c8a821ff1a05c294a1846b3bcb6f343794`\n\n### Release Process Note\n`patched_versions` is pre-set to `2026.2.22` so this advisory is ready to publish once npm `openclaw@2026.2.22` and `@openclaw/voice-call@2026.2.22` are released.\n\nOpenClaw thanks @jiseoung for reporting.","published":"2026-03-11T13:32:35.845Z","modified":"2026-08-12T03:51:13.187700942Z","cvss":null,"epss":null,"cisaKev":null,"exploitsKnown":0,"affectedPackages":[{"ecosystem":"npm","name":"openclaw","fixedVersion":"2026.2.22"},{"ecosystem":"npm","name":"@openclaw/voice-call","fixedVersion":"2026.2.22"}],"fix":{"url":"https://github.com/openclaw/openclaw/commit/1d8968c8a821ff1a05c294a1846b3bcb6f343794","label":"openclaw/openclaw@1d8968c"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/32xxx/CVE-2026-32062.json"},{"type":"ADVISORY","url":"https://github.com/openclaw/openclaw/security/advisories/GHSA-mfg5-7q5g-f37j"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-32062"},{"type":"ADVISORY","url":"https://www.vulncheck.com/advisories/openclaw-unauthenticated-websocket-resource-exhaustion-via-media-stream"},{"type":"FIX","url":"https://github.com/openclaw/openclaw/commit/1d8968c8a821ff1a05c294a1846b3bcb6f343794"},{"type":"PACKAGE","url":"https://github.com/openclaw/openclaw"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-08-12T03:51:13.187700942Z"}}