GHSA-mp5h-m6qj-6292

Suggest an improvement
Source
https://github.com/advisories/GHSA-mp5h-m6qj-6292
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/02/GHSA-mp5h-m6qj-6292/GHSA-mp5h-m6qj-6292.json
JSON Data
https://api.osv.dev/v1/vulns/GHSA-mp5h-m6qj-6292
Aliases
Published
2026-02-17T18:46:16Z
Modified
2026-02-22T23:24:49Z
Severity
  • 7.5 (High) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N CVSS Calculator
Summary
OpenClaw has a Telegram webhook request forgery (missing `channels.telegram.webhookSecret`) → auth bypass
Details

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.

Database specific
{
    "cwe_ids":  [
        "CWE-345"
    ],
    "github_reviewed":  true,
    "github_reviewed_at":  "2026-02-17T18:46:16Z",
    "nvd_published_at":  "2026-02-19T07:17:45Z",
    "severity":  "HIGH"
}
References

Affected packages

npm / openclaw

Package

Affected ranges

Type
SEMVER
Events
Introduced
0 Unknown introduced version / All previous versions are affected
Fixed
2026.2.1

Database specific

source
"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/02/GHSA-mp5h-m6qj-6292/GHSA-mp5h-m6qj-6292.json"