Loading...
Skip to main content

CVE-2026-28446 — Vulnerability in openclaw — CVE Details

CRITICAL

OpenClaw has an inbound allowlist policy bypass in voice-call extension (empty caller ID + suffix matching)

Published February 17, 2026Updated March 13, 2026Source: osv

Summary

### Summary An authentication bypass in the optional `voice-call` extension/plugin allowed unapproved or anonymous callers to reach the voice-call agent when inbound policy was set to `allowlist` or `pairing`. Deployments that do not install/enable the `voice-call` extension are not affected. ### Affected Packages / Versions - `openclaw` (npm): `<= 2026.2.1` - Fixed in: `>= 2026.2.2` ### Details In affected versions (for example `2026.2.1`), the inbound allowlist check in `extensions/voice-call/src/manager.ts` used suffix-based matching and accepted empty caller IDs after normalization. This allowed two bypasses: 1. Missing/empty `from` values normalized to an empty string, which caused the allowlist predicate to evaluate as allowed. 2. Suffix-based matching meant any caller number whose digits ended with an allowlisted number would be accepted. ### Proof Of Concept 1. Configure the voice-call extension with `inboundPolicy: allowlist` and `allowFrom: ["+15550001234"]`. 2. Place/trigger an inbound call with missing/empty caller ID (provider-dependent; for example anonymous/restricted caller). The call is accepted. 3. Place a call from a number whose E.164 digits end with `15550001234` (for example `+99915550001234`). The call is accepted. ### Impact Only operators who install/enable the optional `voice-call` extension and use `inboundPolicy=allowlist` or `pairing` could have inbound access controls bypassed, potentially allowing unauthorized callers to reach auto-response and tool execution. ### Fix The fix hardens inbound policy handling: - Reject inbound calls when caller ID is missing. - Require strict equality when comparing normalized caller IDs against the allowlist (no suffix/prefix matching). - Add regression tests for missing caller ID, anonymous caller ID, and suffix-collision cases. Fix commit(s): - `f8dfd034f5d9235c5485f492a9e4ccc114e97fdb` Thanks @simecek for reporting.

Advisory Timeline

  • First published February 17, 2026 (237 days ago).
  • Last revised March 13, 2026 — 23 days after initial publication.

Remediation

Upgrade to the fixed version using your package manager.

npm
Update openclaw to 2026.2.2 or later
npm install openclaw@2026.2.2

After upgrading, run your dependency scanner again to confirm the vulnerability is resolved.

Affected Packages (1)

Affects 1 ecosystem: npm (1).

PackageEcosystemAffectedFixed In
openclaw
npm
All versions2026.2.2

Vulnerability Classification

Common Weakness Enumeration (CWE) identifiers for this vulnerability type.

  • CWE-287
    Improper AuthenticationMITRE

CVSS Score Breakdown

What the CVSS (Common Vulnerability Scoring System) 9.4 score means for each attack dimension.

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
Low

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L

Frequently Asked Questions

What is CVE-2026-28446?
OpenClaw has an inbound allowlist policy bypass in voice-call extension (empty caller ID + suffix matching) This vulnerability has been assigned a severity rating of CRITICAL (CVSS score: 9.4/10).
How do I check if my project is affected by CVE-2026-28446?
CVE-2026-28446 affects openclaw. Use GeekWala's free vulnerability scanner to check your dependencies against CVE-2026-28446 and 200,000+ other known vulnerabilities.

Severity & Exploitability

CVSS Score
9.4

Exploitation is straightforward and causes maximum impact. Patch immediately.

Also Known As

GHSA-4rj2-gpmh-qq5x

Related CVEs

  • CVE-2026-28363
    CRITICAL

    OpenClaw is vulnerable to validation bypass through GNU long-option abbreviations in allowlist mode

  • CVE-2026-53811
    HIGH

    OpenClaw: Matrix allowFrom could bind to mutable display names

  • CVE-2026-28391
    HIGH

    OpenClaw's Windows cmd.exe parsing may bypass exec allowlist/approval gating

  • CVE-2026-53821
    HIGH

    OpenClaw: Trusted-proxy Control UI WebSocket accepted client-declared scopes before pairing

  • CVE-2026-35669
    HIGH

    OpenClaw: Gateway Plugin HTTP Auth Grants Unrestricted operator.admin Runtime Scope to All Callers

  • CVE-2026-35666
    HIGH

    OpenClaw's system.run allowlist can be bypassed through an unregistered time dispatch wrapper

  • CVE-2026-43534
    MEDIUM

    OpenClaw: Agent hook events could enqueue trusted system events from unsanitized external input

  • CVE-2026-43531
    MEDIUM

    OpenClaw: Workspace .env could inject OpenClaw runtime-control variables

Check if you're affected

Scan your dependencies to see if this vulnerability affects your projects.

Scan Your Dependencies