Skip to content

OpenClaw Twilio voice-call webhook auth bypass when ngrok loopback compatibility is enabled

Moderate severity GitHub Reviewed Published Feb 15, 2026 in openclaw/openclaw • Updated Feb 18, 2026

Package

npm openclaw (npm)

Affected versions

< 2026.2.14

Patched versions

2026.2.14

Description

Summary

A Twilio webhook signature-verification bypass in the voice-call extension could allow unauthenticated webhook requests when a specific ngrok free-tier compatibility option is enabled.

Impact

This issue is limited to configurations that explicitly enable and expose the voice-call webhook endpoint.

Not affected by default:

  • The voice-call extension is optional and disabled by default.
  • The bypass only applied when tunnel.allowNgrokFreeTierLoopbackBypass was explicitly enabled.
  • Exploitation required the webhook to be reachable (typically via a public ngrok URL during development).

Worst case (when exposed and the option was enabled):

  • An external attacker could send forged requests to the publicly reachable webhook endpoint that would be accepted without a valid X-Twilio-Signature.
  • This could result in unauthorized webhook event handling (integrity) and request flooding (availability).

Affected Packages / Versions

  • Package: openclaw (npm)
  • Affected versions: <= 2026.2.13 (latest published as of 2026-02-14)
  • Patched versions: >= 2026.2.14 (planned next release; pending publish)

Fix

allowNgrokFreeTierLoopbackBypass no longer bypasses signature verification. It only enables trusting forwarded headers on loopback so the public ngrok URL can be reconstructed for correct signature validation.

Fix commit(s):

  • ff11d8793b90c52f8d84dae3fbb99307da51b5c9

Thanks @p80n-sec for reporting.

References

@steipete steipete published to openclaw/openclaw Feb 15, 2026
Published to the GitHub Advisory Database Feb 18, 2026
Reviewed Feb 18, 2026
Last updated Feb 18, 2026

Severity

Moderate

CVSS overall score

This score calculates overall vulnerability severity from 0 to 10 and is based on the Common Vulnerability Scoring System (CVSS).
/ 10

CVSS v3 base metrics

Attack vector
Network
Attack complexity
Low
Privileges required
None
User interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
Low
Availability
Low

CVSS v3 base metrics

Attack vector: More severe the more the remote (logically and physically) an attacker can be in order to exploit the vulnerability.
Attack complexity: More severe for the least complex attacks.
Privileges required: More severe if no privileges are required.
User interaction: More severe when no user interaction is required.
Scope: More severe when a scope change occurs, e.g. one vulnerable component impacts resources in components beyond its security scope.
Confidentiality: More severe when loss of data confidentiality is highest, measuring the level of data access available to an unauthorized user.
Integrity: More severe when loss of data integrity is the highest, measuring the consequence of data modification possible by an unauthorized user.
Availability: More severe when the loss of impacted component availability is highest.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L

EPSS score

Weaknesses

Missing Authentication for Critical Function

The product does not perform any authentication for functionality that requires a provable user identity or consumes a significant amount of resources. Learn more on MITRE.

CVE ID

No known CVE

GHSA ID

GHSA-c37p-4qqg-3p76

Source code

Credits

Loading Checking history
See something to contribute? Suggest improvements for this vulnerability.