Free AI Safety Workshop — in collaboration with explainx.aiSave your seat
AgentbeamBeta
AI agent vulnerability · OpenClaw

CVE-2026-25474: OpenClaw has a Telegram webhook request forgery (missing `channels.telegram.webhookSecret`) → auth bypass

highCVSS 3.1 7.5GHSA-mp5h-m6qj-6292

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.webhookSecret and ensure your reverse proxy forwards the X-Telegram-Bot-Api-Secret-Token header 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: webhookUrl requires webhookSecret)

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

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 entries