CVE-2026-28480
OpenClaw (formerly Moltbot or Clawdbot) vulnerability analysis and mitigation

Overview

CVE-2026-28480 is an authorization bypass vulnerability in OpenClaw (an npm package) where Telegram allowlist matching incorrectly uses mutable @username values instead of immutable numeric sender IDs for identity verification. All versions of openclaw up to and including 2026.2.13 and clawdbot up to and including 2026.1.24-3 are affected. The vulnerability was published on March 5, 2026, with patches released in version 2026.2.14. It carries a CVSS v3.1 base score of 6.5 (Medium) and a CVSS v4.0 base score of 6.9 (Medium) (GitHub Advisory, Feedly).

Technical details

The root cause is classified as CWE-290 (Authentication Bypass by Spoofing) and CWE-284 (Improper Access Control). Telegram usernames (@username) are mutable and recyclable — they can be changed by users or reassigned to different accounts — whereas numeric sender IDs are permanent and immutable. The vulnerable code in src/telegram/bot-access.ts performed allowlist matching against both numeric IDs and @username strings, including case-insensitive username comparison. An attacker who acquires a previously allowlisted username (e.g., through Telegram's username recycling mechanism) can send messages to a restricted bot and have them accepted as if they were the original authorized user (GitHub Advisory, Fix Commit e3b432e).

Impact

Successful exploitation allows an unauthorized attacker to bypass allowlist-based access controls and interact with OpenClaw-powered Telegram bots as if they were a trusted, allowlisted user. This can result in unauthorized access to restricted bot functions, manipulation of bot behavior, and potential exposure of sensitive data handled by the bot. The confidentiality and integrity impacts are both rated low, with no availability impact, as the attacker gains limited but unauthorized bot interaction capabilities rather than full system compromise (GitHub Advisory, Feedly).

Exploitability

No public proof-of-concept exploit code is known to exist, and there is no evidence of active in-the-wild exploitation at this time. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. The EPSS score is approximately 0.028%, reflecting a low probability of near-term exploitation. Exploitation requires the attacker to successfully acquire a Telegram username that was previously allowlisted by a target bot operator, which depends on Telegram's username recycling behavior (Feedly, GitHub Advisory).

Exploitation steps

  1. Reconnaissance: Identify OpenClaw-powered Telegram bots running versions prior to 2026.2.14 that use allowlist-based access control (dmPolicy: allowlist or groupPolicy: allowlist).
  2. Identify allowlisted usernames: Determine which Telegram @username values are configured in the bot's allowFrom or groupAllowFrom settings. This may be possible through social engineering, leaked configuration files, or observing bot behavior.
  3. Acquire the target username: Monitor for or wait until a previously allowlisted Telegram username becomes available (e.g., the original user releases or changes their username, making it recyclable by Telegram). Register or claim the recycled username on a new or existing Telegram account.
  4. Send messages to the bot: Using the Telegram account now holding the recycled username, send direct messages or group messages to the target bot. The vulnerable allowlist logic matches on the mutable @username string, granting access to the attacker's account.
  5. Interact as authorized user: Execute bot commands, access restricted data, or manipulate bot functions that should only be available to the original allowlisted user (GitHub Advisory, Fix Commit e3b432e).

Indicators of compromise

  • Logs: Bot interaction logs showing messages accepted from a Telegram sender whose numeric user ID does not match the originally intended allowlisted user, despite the username matching an allowlist entry.
  • Configuration: Presence of @username strings (non-numeric entries) in channels.telegram.allowFrom, channels.telegram.groupAllowFrom, or per-group allowFrom fields in openclaw.json; running openclaw security audit on a vulnerable version will flag checkId: channels.telegram.allowFrom.invalid_entries with severity warn.
  • Behavioral: Unexpected or unauthorized bot commands being executed, or bot responses to users who should not have access, particularly from accounts with recently changed or newly registered usernames (GitHub Advisory, Fix Commit e3b432e).

Mitigation and workarounds

Upgrade OpenClaw to version 2026.2.14 or later, which enforces numeric Telegram sender IDs exclusively for allowlist authorization and rejects @username entries. After upgrading, run openclaw doctor --fix to automatically resolve any existing @username entries in configuration to their corresponding numeric IDs (requires a valid Telegram bot token). Additionally, run openclaw security audit to identify any remaining non-numeric allowlist entries and replace them manually with numeric Telegram user IDs. As an interim measure, audit all allowFrom and groupAllowFrom configuration fields and manually replace any @username values with the corresponding numeric IDs (GitHub Advisory, Fix Commit 9e147f0).

Community reactions

The vulnerability was reported by community contributor @vincentkoc and acknowledged by the OpenClaw maintainer (steipete) in the GitHub security advisory. The fix was bundled alongside several other security hardening changes in the same release, including path traversal and SSRF mitigations, suggesting a broader security review effort. No significant media coverage or notable external researcher commentary has been identified beyond the GitHub advisory and standard vulnerability database entries (GitHub Advisory).

Additional resources


SourceThis report was generated using AI

Related OpenClaw (formerly Moltbot or Clawdbot) vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-48063CRITICAL9.3
  • JavaScript logoJavaScript
  • openclaw
NoYesAug 03, 2026
CVE-2026-45623CRITICAL9.1
  • JavaScript logoJavaScript
  • nextcloud-server-34
NoYesJul 27, 2026
CVE-2026-16633HIGH8.6
  • JavaScript logoJavaScript
  • pdfjs-dist
NoYesAug 06, 2026
CVE-2026-62229HIGH7.7
  • OpenClaw (formerly Moltbot or Clawdbot) logoOpenClaw (formerly Moltbot or Clawdbot)
  • openclaw
NoYesJul 17, 2026
CVE-2026-62228HIGH7.7
  • OpenClaw (formerly Moltbot or Clawdbot) logoOpenClaw (formerly Moltbot or Clawdbot)
  • openclaw
NoYesJul 17, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management