Read the docs
TI-2026-21283 Aliases CVE-2026-26327GHSA-pv58-549p-qh99

OpenClaw allows unauthenticated discovery TXT records to steer routing and TLS pinning

Priority LOW 30CWE-345Published · Updated

Key facts

Attack vector
Adjacent network
Privileges required
None
User interaction
None
Attack complexity
Low
Attack requirements
None
Impact type
Security bypass
Confidentiality · integrity · availability
High · None · None
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub. Impact type from CWE-345.

Summary

OpenClaw is a personal AI assistant. Discovery beacons (Bonjour/mDNS and DNS-SD) include TXT records such as `lanHost`, `tailnetDns`, `gatewayPort`, and `gatewayTlsSha256`. TXT records are unauthenticated. Prior to version 2026.2.14, some clients treated TXT values as authoritative routing/pinning inputs. iOS and macOS used TXT-provided host hints (`lanHost`/`tailnetDns`) and ports (`gatewayPort`) to build the connection URL. iOS and Android allowed the discovery-provided TLS fingerprint (`gatewayTlsSha256`) to override a previously stored TLS pin. On a shared/untrusted LAN, an attacker could advertise a rogue `_openclaw-gw._tcp` service. This could cause a client to connect to an attacker-controlled endpoint and/or accept an attacker certificate, potentially exfiltrating Gateway credentials (`auth.token` / `auth.password`) during connection. As of time of publication, the iOS and Android apps are alpha/not broadly shipped (no public App Store / Play Store release). Practical impact is primarily limited to developers/testers running those builds, plus any other shipped clients relying on discovery on a shared/untrusted LAN. Version 2026.2.14 fixes the issue. Clients now prefer the resolved service endpoint (SRV + A/AAAA) over TXT-provided routing hints. Discovery-provided fingerprints no longer override stored TLS pins. In iOS/Android, first-time TLS pins require explicit user confirmation (fingerprint shown; no silent TOFU) and discovery-based direct connects are TLS-only. In Android, hostname verification is no longer globally disabled (only bypassed when pinning).

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00111 1st percentileScored 2026-11-07
Fix Fixed openclaw (openclaw): 2026.2.14openclaw (npm): 2026.2.14

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
OpenClawopenclawbefore 2026.2.142026.2.14Patch availableCNA
—openclaw (npm)before 2026.2.142026.2.14Patch availableGHSA-pv58-549p-qh99
  • openclaw VendorOpenClaw Affected before 2026.2.14 Fixed in 2026.2.14 Patch available CNA
  • openclaw (npm) Vendor— Affected before 2026.2.14 Fixed in 2026.2.14 Patch available GHSA-pv58-549p-qh99

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:openclaw:openclaw:*:*:*:*:*:node.js:*:*before 2026.2.14VulnerableOpenClaw
  • cpe:2.3:a:openclaw:openclaw:*:*:*:*:*:node.js:*:* Versions before 2026.2.14 Vulnerable ·OpenClaw

Remediation

  • Fix · CNA openclaw (openclaw) Fixed in 2026.2.14
  • Fix · GHSA-pv58-549p-qh99 openclaw (npm) Fixed in 2026.2.14 Advisory →

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-26327
  2. 2026-10-03 Alias added: GHSA-pv58-549p-qh99

References

  • TI-2026-25309 OpenClaw < 2026.3.28 Media Parsing Path Traversal to Arbitrary File Read CVSS 4.0HIGH 8.7
  • TI-2026-20394 Exposure of resource to wrong sphere in OpenClaw CVSS 3.1HIGH 8.8
  • TI-2026-27742 OpenClaw < 2026.3.24 - Arbitrary Code Execution via .npmrc in Local Plugin/Hook Installation CVSS 4.0HIGH 8.4
  • TI-2026-27766 OpenClaw < 2026.3.24 - Denial of Service via Feishu Webhook Pre-Auth Body Parsing CVSS 4.0MEDIUM 6.9
  • TI-2026-07315 OpenClaw bluebubbles Webhook monitor.ts handleBlueBubblesWebhookRequest improper authentication CVSS 4.0MEDIUM 6.9
  • TI-2026-17789 OpenClaw < 2026.2.22 - Allowlist Bypass via Command Substitution in system.run CVSS 4.0HIGH 7.5
See all 574 →

Sources