CVE-2026-35657: openclaw: auth bypass exposes agent session history via HTTP
GHSA-5jvj-hxmh-6h6j MEDIUMopenclaw's HTTP session history endpoint (/sessions/:sessionKey/history) authenticated bearer tokens but silently skipped the operator.read scope check enforced on the WebSocket path, meaning any valid token holder could read session histories regardless of their assigned permissions. In AI agent deployments, session histories routinely contain conversation transcripts, tool invocation outputs, and sensitive operational data — the exposure radius scales directly with what your agents handle. With 63 CVEs already documented in this package and an active ecosystem abuse incident (AIID #1368) showing malicious openclaw skills exfiltrating credentials from the same platform, this package deserves elevated scrutiny beyond this single issue. Patch immediately to 2026.3.25; if patching is blocked, restrict HTTP access to /sessions/*/history at the API gateway for tokens lacking operator.read scope, and audit existing HTTP access logs for unauthorized history reads.
What is the risk?
Medium severity but elevated in AI agent contexts. No public exploit, no CVSS score, not in CISA KEV. Exploitability is trivial — any holder of a valid bearer token can reach the endpoint without specialized tooling or AI/ML knowledge. The real risk multiplier is the data sensitivity typical of agent session histories: production deployments frequently process PII, internal tool outputs, and credentials through agent workflows, all of which surface in session history. The 63 CVEs in this package and the AIID #1368 credential-theft incident suggest a systemic security posture problem beyond this specific authorization gap.
How does the attack unfold?
What systems are affected?
| Package | Ecosystem | Vulnerable Range | Patched |
|---|---|---|---|
| OpenClaw | npm | <= 2026.3.24 | 2026.3.25 |
Do you use OpenClaw? You're affected.
How severe is it?
What is the attack surface?
What should I do?
5 steps-
Upgrade openclaw to 2026.3.25 (fix commit 1c45123231516fa50f8cf8522ba5ff2fb2ca7aea enforces operator scope declarations for HTTP callers).
-
Interim workaround: block or ACL the /sessions/:sessionKey/history HTTP endpoint at the API gateway or reverse proxy, requiring explicit operator.read scope verification upstream before requests reach the application.
-
Audit HTTP access logs for requests to /sessions/*/history from tokens without operator.read scope — treat any confirmed hits as potential data exposure incidents requiring notification review.
-
Rotate bearer tokens for deployments with an unknown exposure window.
-
Given 63 CVEs in this package, evaluate whether openclaw is appropriate for production use without a broader security review or migration plan.
What does CISA's SSVC say?
Source: CISA Vulnrichment (SSVC v2.0). Decision based on the CISA Coordinator decision tree.
How is it classified?
Which compliance frameworks are affected?
This CVE is relevant to:
Frequently Asked Questions
What is CVE-2026-35657?
openclaw's HTTP session history endpoint (/sessions/:sessionKey/history) authenticated bearer tokens but silently skipped the operator.read scope check enforced on the WebSocket path, meaning any valid token holder could read session histories regardless of their assigned permissions. In AI agent deployments, session histories routinely contain conversation transcripts, tool invocation outputs, and sensitive operational data — the exposure radius scales directly with what your agents handle. With 63 CVEs already documented in this package and an active ecosystem abuse incident (AIID #1368) showing malicious openclaw skills exfiltrating credentials from the same platform, this package deserves elevated scrutiny beyond this single issue. Patch immediately to 2026.3.25; if patching is blocked, restrict HTTP access to /sessions/*/history at the API gateway for tokens lacking operator.read scope, and audit existing HTTP access logs for unauthorized history reads.
Is CVE-2026-35657 actively exploited?
No confirmed active exploitation of CVE-2026-35657 has been reported, but organizations should still patch proactively.
How to fix CVE-2026-35657?
1. Upgrade openclaw to 2026.3.25 (fix commit 1c45123231516fa50f8cf8522ba5ff2fb2ca7aea enforces operator scope declarations for HTTP callers). 2. Interim workaround: block or ACL the /sessions/:sessionKey/history HTTP endpoint at the API gateway or reverse proxy, requiring explicit operator.read scope verification upstream before requests reach the application. 3. Audit HTTP access logs for requests to /sessions/*/history from tokens without operator.read scope — treat any confirmed hits as potential data exposure incidents requiring notification review. 4. Rotate bearer tokens for deployments with an unknown exposure window. 5. Given 63 CVEs in this package, evaluate whether openclaw is appropriate for production use without a broader security review or migration plan.
What systems are affected by CVE-2026-35657?
This vulnerability affects the following AI/ML architecture patterns: agent frameworks, multi-tenant AI platforms, API gateways, agentic pipelines.
What is the CVSS score for CVE-2026-35657?
CVE-2026-35657 has a CVSS v3.1 base score of 6.5 (MEDIUM). The EPSS exploitation probability is 0.23%.
What is the AI security impact?
Affected AI Architectures
MITRE ATLAS Techniques
AML.T0049 Exploit Public-Facing Application AML.T0085 Data from AI Services AML.T0091.000 Application Access Token Compliance Controls Affected
What are the technical details?
Original Advisory
## Summary Gateway HTTP Session History Route Bypasses Operator Read Scope ## Affected Packages / Versions - Package: `openclaw` - Affected versions: `<= 2026.3.24` - First patched version: `2026.3.25` - Latest published npm version at verification time: `2026.3.24` ## Details The HTTP `/sessions/:sessionKey/history` route previously authenticated bearer tokens but skipped the same `operator.read` check used by `chat.history` over WebSocket. Commit `1c45123231516fa50f8cf8522ba5ff2fb2ca7aea` makes HTTP callers declare operator scopes and rejects history reads that do not include `operator.read`. Verified vulnerable on tag `v2026.3.24` and fixed on `main` by commit `1c45123231516fa50f8cf8522ba5ff2fb2ca7aea`. ## Fix Commit(s) - `1c45123231516fa50f8cf8522ba5ff2fb2ca7aea`
Exploitation Scenario
An adversary holding a valid but limited-scope bearer token — obtained through credential theft, a compromised service integration, or an insider account with only write permissions — crafts HTTP GET requests to /sessions/<sessionKey>/history. Unlike the WebSocket path, the HTTP handler validates the token signature but skips the operator.read scope assertion, returning full session histories. The adversary enumerates session keys through predictable patterns or by observing keys returned from other accessible endpoints, then silently exfiltrates conversation transcripts, tool call outputs, and agent decision chains. In multi-tenant deployments this enables cross-operator boundary traversal, effectively collapsing tenant isolation without triggering authentication failures.
Weaknesses (CWE)
CWE-639 Authorization Bypass Through User-Controlled Key
Primary
CWE-863 Incorrect Authorization
Primary
CWE-863 Incorrect Authorization CWE-639 — Authorization Bypass Through User-Controlled Key: The system's authorization functionality does not prevent one user from gaining access to another user's data or record by modifying the key value identifying the data.
- [Architecture and Design] For each and every data access, ensure that the user has sufficient privilege to access the record that is being requested.
- [Architecture and Design, Implementation] Make sure that the key that is used in the lookup of a specific user's record is not controllable externally by the user or that any tampering can be detected.
Source: MITRE CWE corpus.
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N References
Timeline
Related Vulnerabilities
CVE-2026-33579 9.9 OpenClaw: scope bypass escalates low-priv to admin
Same package: openclaw CVE-2026-32922 9.9 OpenClaw: privilege escalation to RCE via token scope bypass
Same package: openclaw CVE-2026-32038 9.8 OpenClaw: sandbox bypass enables container lateral movement
Same package: openclaw CVE-2026-53838 9.8 OpenClaw: approval scope bypass via reconnection state
Same package: openclaw CVE-2026-30741 9.8 OpenClaw: RCE via request-side prompt injection
Same package: openclaw