OpenClaw optional voice-call plugin: webhook verification may be bypassed behind certain proxy configurationsGHSA-3m3q-x3gj-f79x
MEDIUMFix: openclaw/openclaw@a749db9GHSA-3m3q-x3gj-f79x is a medium-severity (CVSS 5.9) CWE-290 vulnerability in @openclaw/voice-call. A fix is available for @openclaw/voice-call — see the affected versions and patch details below.
Exploitation Status
No confirmed exploitation observed yet
- CISA’s own triage has not observed active exploitation or public proof-of-concept code for this CVE as of its last assessment.
Exploitation and automatability from CISA’s SSVC triage for GHSA-3m3q-x3gj-f79x.
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
How urgent is this, really
Where this sits among everything scored
Real-World Exposure
How broadly this vulnerability is actually deployed: weekly install volume shows current usage, and reverse-dependency count shows how many other packages break if it stays unpatched.
@openclaw/voice-callnpm@clawdbot/voice-callnpmDescription
Affected Packages / Versions
This issue affects the optional voice-call plugin only. It is not enabled by default; it only applies to installations where the plugin is installed and enabled.
- Package:
@openclaw/voice-call - Vulnerable versions:
< 2026.2.3 - Patched versions:
>= 2026.2.3
Legacy package name (if you are still using it):
- Package:
@clawdbot/voice-call - Vulnerable versions:
<= 2026.1.24 - Patched versions: none published under this package name; migrate to
@openclaw/voice-call
Summary
In certain reverse-proxy / forwarding setups, webhook verification can be bypassed if untrusted forwarded headers are accepted.
Impact
An external party may be able to send voice-call webhook requests that are accepted as valid, which can result in spoofed webhook events being processed.
Root Cause
Some deployments implicitly trusted forwarded headers (for example Forwarded / X-Forwarded-*) when determining request properties used during webhook verification. If those headers are not overwritten by a trusted proxy, a client can supply them directly and influence verification.
Resolution
Ignore forwarded headers by default unless explicitly trusted and allowlisted in configuration. Keep any loopback-only development bypass restricted to local development only. Upgrade to a patched version.
If you cannot upgrade immediately, strip Forwarded and X-Forwarded-* headers at the edge so clients cannot supply them directly.
Fix Commit(s)
a749db9820eb6d6224032a5a34223d286d2dcc2f
Credits
Thanks @0x5t for reporting.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 📦npm | @openclaw/voice-call | all versions | 2026.2.3npm install @openclaw/voice-call@2026.2.3 |
| 📦npm | @clawdbot/voice-call | all versions | No fix |
Affected Products
openclawopenclawDetection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for @openclaw/voice-call, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update @openclaw/voice-call to 2026.2.3 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms GHSA-3m3q-x3gj-f79x is resolved across your whole dependency graph.
Workarounds
If you can't upgrade right away: gate or disable the affected feature, validate untrusted input at the boundary, and avoid passing attacker-controlled data into the vulnerable path. O3's runtime protection blocks exploitation in production as an interim safeguard until the upgrade lands.
Frequently Asked Questions
Is GHSA-3m3q-x3gj-f79x in your dependencies?
Find it across npm, including transitive dependencies.