Loading...
Skip to main content

CVE-2026-28446

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.

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)

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-41329
    CRITICAL

    OpenClaw: Heartbeat context inheritance bypasses sandbox via senderIsOwner escalation

  • CVE-2026-32916
    CRITICAL

    OpenClaw: Plugin subagent routes could bypass gateway authorization with synthetic admin scopes

  • CVE-2026-53822
    HIGH

    OpenClaw: Shell wrapper argv could change between approval and execution

  • CVE-2026-33573
    HIGH

    OpenClaw: Gateway `agent` calls could override the workspace boundary

  • CVE-2026-32917
    HIGH

    OpneClaw accepts unsanitized iMessage attachment paths which allowed SCP remote-path command injection

  • CVE-2026-41386
    HIGH

    OpenClaw: Unbound bootstrap setup codes allow privilege escalation during pairing

  • CVE-2026-44116
    MEDIUM

    OpenClaw validates Zalo outbound photo URLs through the SSRF guard

  • CVE-2026-43566
    MEDIUM

    OpenClaw: Heartbeat owner downgrade missed untrusted webhook wake events

Check if you're affected

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

Scan Your Dependencies