CVE-2026-25474: OpenClaw has a Telegram webhook request forgery (missing `channels.telegram.webhookSecret`) → auth bypass
Summary In Telegram webhook mode, if channels.telegram.webhookSecret is not set, OpenClaw may accept webhook HTTP requests without verifying Telegram’s secret token header. In deployments where the webhook endpoint is reachable by an attacker, this can allow forged Telegram updates (for example spoofing message.from.id). Note: Telegram webhook mode is not enabled by default.
Published Feb 17, 2026 · Updated Feb 19, 2026
Affected packages
openclaw
- Ecosystem
- npm
- Affected
- < 2026.2.1
- Fixed in
- 2026.2.1
- Check
npm ls openclaw
Advisory details
From the GitHub Advisory Database (CC BY 4.0).
Summary
In Telegram webhook mode, if channels.telegram.webhookSecret is not set, OpenClaw may accept webhook HTTP requests without verifying Telegram’s secret token header. In deployments where the webhook endpoint is reachable by an attacker, this can allow forged Telegram updates (for example spoofing message.from.id).
Note: Telegram webhook mode is not enabled by default. It is enabled only when channels.telegram.webhookUrl is configured.
Affected Packages / Versions
- Package:
openclaw(npm) - Affected:
<= 2026.1.30 - Patched:
>= 2026.2.1
Impact
If an attacker can reach the webhook endpoint, they may be able to send forged updates that are processed as if they came from Telegram. Depending on enabled commands/tools and configuration, this could lead to unintended bot actions.
Mitigations / Workarounds
- Set a strong
channels.telegram.webhookSecretand ensure your reverse proxy forwards theX-Telegram-Bot-Api-Secret-Tokenheader unchanged. - Restrict network access to the webhook endpoint (for example bind to loopback and only expose via a reverse proxy).
Fix Commit(s)
- ca92597e1f9593236ad86810b66633144b69314d (config validation:
webhookUrlrequireswebhookSecret)
Defense-in-depth / supporting fixes:
- 5643a934799dc523ec2ef18c007e1aa2c386b670 (default webhook listener bind host to loopback)
- 3cbcba10cf30c2ffb898f0d8c7dfb929f15f8930 (bound webhook request body size/time)
- 633fe8b9c17f02fcc68ecdb5ec212a5ace932f09 (runtime guard: reject webhook startup when secret is missing/empty)
Thanks @yueyueL for reporting.
Credited to yueyueL.
References
- https://github.com/openclaw/openclaw/security/advisories/GHSA-mp5h-m6qj-6292
- https://github.com/openclaw/openclaw/commit/3cbcba10cf30c2ffb898f0d8c7dfb929f15f8930
- https://github.com/openclaw/openclaw/commit/5643a934799dc523ec2ef18c007e1aa2c386b670
- https://github.com/openclaw/openclaw/commit/633fe8b9c17f02fcc68ecdb5ec212a5ace932f09
- https://github.com/openclaw/openclaw/commit/ca92597e1f9593236ad86810b66633144b69314d
- https://github.com/openclaw/openclaw/releases/tag/v2026.2.1
- https://nvd.nist.gov/vuln/detail/CVE-2026-25474
- https://github.com/advisories/GHSA-mp5h-m6qj-6292
How this page is made: the data panel comes from the GitHub Advisory Database, CISA’s KEV catalog, the NVD and FIRST EPSS, and updates twice a day. No analysis has been written for this entry yet. Methodology
More OpenClaw vulnerabilities
All OpenClaw entriesCVE-2026-35630
OpenClaw: QQBot native approval buttons did not enforce configured approver identity
high8.0Jul 2, 2026CVE-2026-53806
OpenClaw: Combined POSIX shell options could confuse exec revalidation
high8.8Jul 2, 2026CVE-2026-53809
OpenClaw: Embedded runner policy could be confused by provider aliases
medium3.8Jul 2, 2026CVE-2026-53810
OpenClaw's marketplace runtime extension metadata could point at unscanned payloads
high8.8Jul 2, 2026CVE-2026-53811
OpenClaw: Matrix allowFrom could bind to mutable display names
high8.8Jul 2, 2026CVE-2026-53812
OpenClaw's browser act interactions could bypass private-network navigation checks
medium7.7Jul 2, 2026
