GHSA-fhvm-j76f-qmjv

Suggest an improvement
Source
https://github.com/advisories/GHSA-fhvm-j76f-qmjv
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/02/GHSA-fhvm-j76f-qmjv/GHSA-fhvm-j76f-qmjv.json
JSON Data
https://api.osv.dev/v1/vulns/GHSA-fhvm-j76f-qmjv
Aliases
Published
2026-02-17T21:34:36Z
Modified
2026-03-06T01:02:30.324985Z
Severity
  • 9.8 (Critical) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H CVSS Calculator
  • 9.1 (Critical) CVSS_V4 - CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N CVSS Calculator
Summary
OpenClaw has a potential access-group authorization bypass if channel type lookup fails
Details

Summary

When Telegram webhook mode is enabled without a configured webhook secret, OpenClaw may accept unauthenticated HTTP POST requests at the Telegram webhook endpoint and trust attacker-controlled update JSON. This can allow forged Telegram updates that spoof message.from.id / chat.id, potentially bypassing sender allowlists and executing privileged bot commands.

Affected Packages / Versions

  • Package: openclaw (npm)
  • Affected: <= 2026.1.30
  • Patched: >= 2026.2.1

Impact

An attacker who can reach the webhook endpoint can forge Telegram updates and impersonate allowlisted/paired senders by spoofing fields in the webhook payload (for example message.from.id). Impact depends on enabled commands/tools and the deployment’s network exposure.

Mitigations / Workarounds

  • Configure a strong channels.telegram.webhookSecret and ensure your reverse proxy forwards the X-Telegram-Bot-Api-Secret-Token header unchanged.

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)

Release Process Note

patched_versions is set to the first fixed release (2026.2.1).

Thanks @yueyueL for reporting.

Database specific
{
    "github_reviewed": true,
    "github_reviewed_at": "2026-02-17T21:34:36Z",
    "cwe_ids": [
        "CWE-285",
        "CWE-345"
    ],
    "severity": "CRITICAL",
    "nvd_published_at": "2026-03-05T22:16:17Z"
}
References

Affected packages

npm / openclaw

Package

Affected ranges

Type
SEMVER
Events
Introduced
0Unknown 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-fhvm-j76f-qmjv/GHSA-fhvm-j76f-qmjv.json"