{"id":"GHSA-48vw-m3qc-wr99","summary":"OpenClaw's Trusted-proxy Control UI sessions retain privileged scopes without device identity on device-less allow paths","details":"## Summary\nTrusted-proxy Control UI sessions without device identity could retain self-declared privileged scopes on the device-less allow path.\n\n## Affected Packages / Versions\n- Package: `openclaw` (npm)\n- Affected: \u003c 2026.3.22\n- Fixed: \u003e= 2026.3.22\n- Latest released tag checked: `v2026.3.23-2` (`630f1479c44f78484dfa21bb407cbe6f171dac87`)\n- Latest published npm version checked: `2026.3.23-2`\n\n## Fix Commit(s)\n- `ccf16cd8892402022439346ae1d23352e3707e9e`\n\n## Release Status\nThe fix shipped in `v2026.3.22` and remains present in `v2026.3.23` and `v2026.3.23-2`.\n\n## Code-Level Confirmation\n- src/gateway/server/ws-connection/message-handler.ts now strips unbound self-declared scopes on the trusted-proxy no-device path.\n- src/gateway/server/ws-connection/connect-policy.ts remains the allow path, but the shipped scope scrub prevents privilege retention without device identity.\n\nOpenClaw thanks @nexrin for reporting.","aliases":["CVE-2026-35638"],"modified":"2026-07-08T08:26:58.135501153Z","published":"2026-03-26T19:50:59Z","database_specific":{"github_reviewed_at":"2026-03-26T19:50:59Z","nvd_published_at":null,"cwe_ids":[],"severity":"HIGH","github_reviewed":true},"references":[{"type":"WEB","url":"https://github.com/openclaw/openclaw/security/advisories/GHSA-48vw-m3qc-wr99"},{"type":"WEB","url":"https://github.com/openclaw/openclaw/commit/ccf16cd8892402022439346ae1d23352e3707e9e"},{"type":"PACKAGE","url":"https://github.com/openclaw/openclaw"}],"affected":[{"package":{"name":"openclaw","ecosystem":"npm","purl":"pkg:npm/openclaw"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"2026.3.22"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/03/GHSA-48vw-m3qc-wr99/GHSA-48vw-m3qc-wr99.json"}}],"schema_version":"1.9.0"}