Medium

OpenClaw has a Gateway HTTP /v1/models Route Bypasses Operator Read Scope

  • Disclosed: 30.03.2026
  • Updated: 11.10.2026 10:22

Fixed in OpenClaw 2026.3.24, the current shipping release.

Summary

The OpenAI-compatible HTTP endpoint /v1/models accepts bearer auth but does not enforce operator method scopes.

In contrast, the WebSocket RPC path enforces operator.read for models.list.

A caller connected with operator.approvals (no read scope) is rejected for models.list (missing scope: operator.read) but can still enumerate model metadata through HTTP /v1/models.

Confirmed on current main at commit 06de515b6c42816b62ec752e1c221cab67b38501.

Details

The WS control-plane path enforces role/scope checks centrally before dispatching methods. For non-admin operators, this includes required method scopes such as operator.read for models.list.

The HTTP compatibility path for /v1/models performs bearer authorization and then returns model metadata; it does not apply an equivalent scope check.

As reproduced, a caller with only operator.approvals can:

  1. connect successfully,
  2. fail models.list over WS with missing scope: operator.read,
  3. fetch /v1/models over HTTP with status 200 and model data.

This is a cross-surface authorization inconsistency where the stricter WS policy can be bypassed via HTTP.

Impact

  • Callers lacking operator.read can still enumerate gateway model metadata through HTTP compatibility routes.
  • Breaks scope model consistency between WS RPC and HTTP surfaces.
  • Weakens least-privilege expectations for operators granted non-read scopes.

Patch Suggestion

1) Enforce read scope on /v1/models routes

Apply a scope gate equivalent to models.list before serving /v1/models or /v1/models/:id.

2) Reuse centralized scope-authorization helper for HTTP compatibility endpoints

Use the same operator scope logic used by WS dispatch (authorizeOperatorScopesForMethod(...)) to prevent policy drift.

3) Add regression tests

Keep this PoC and add explicit negative/positive controls:

  • operator.approvals without read is rejected on HTTP /v1/models.
  • operator.read is accepted on both WS models.list and HTTP /v1/models.

Credit

Reported by @zpbrent.

Affected software

Click a technology to see all vulnerabilities affecting it.

PlatformPackageVulnerable versionsFixed in
npm package openclaw < 2026.3.24 2026.3.24

References

CVSS score 4.3/10
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
Weakness (CWE)
CWE-284, CWE-863
Platform
npm
Package
openclaw
Disclosed
30.03.2026
Updated
11.10.2026 10:22

Sources and licenses

OSV / GitHub Advisory Database - GHSA-68f8-9mhj-h2mp - CC BY 4.0

Vulnerability history: openclaw

All published vulnerabilities of this package (npm package), newest first. Shows whether this is a one-off slip or a package that needs watching.

All (589) in the archive
Total entries
589
First → latest
02.2026 10.2026
Without a fix
9
Exploited in attacks
0

Severity breakdown

  • Critical 20
  • High 215
  • Medium 300
  • Low 54

Disclosures per year

  1. 2026: 589
Severity:
  1. OpenClaw has a Gateway HTTP /v1/models Route Bypasses Operator Read Scope this entry
    Medium · 4.3 CVE-2026-35619 < 2026.3.24 2026.3.24
  2. High · 8.8 CVE-2026-53811 < 2026.5.7 2026.5.7
  3. High · 8.8 CVE-2026-53806 < 2026.5.12 2026.5.12
  4. High · 7.8 CVE-2026-53813 < 2026.4.25 2026.4.25
  5. High · 7.5 CVE-2026-53834 < 2026.4.27 2026.4.27
  6. Critical CVE-2026-34507 < 2026.4.29 2026.4.29
  7. High CVE-2026-53823 < 2026.5.3 2026.5.3
  8. High · 8.4 CVE-2026-53814 < 2026.5.20 2026.5.20
  9. High · 6.5 CVE-2026-53815 < 2026.5.19 2026.5.19
  10. High · 8.1 CVE-2026-53849 < 2026.5.7 2026.5.7
  11. High · 8.1 CVE-2026-53857 < 2026.5.3 2026.5.3
  12. High · 8.1 CVE-2026-53866 < 2026.5.12 2026.5.12
  13. High · 8.1 CVE-2026-53864 < 2026.5.26 2026.5.26
  14. Critical · 9.8 CVE-2026-44109 < 2026.4.15 2026.4.15
  15. Critical · 8.1 CVE-2026-43585 < 2026.4.15 2026.4.15
  16. High · 8.8 CVE-2026-43530 >= 2026.2.23, < 2026.4.12 2026.4.12
  17. High · 8.8 CVE-2026-42434 >= 2026.4.5, < 2026.4.10 2026.4.10
  18. High · 7.5 CVE-2026-42437 >= 2026.4.9, < 2026.4.10 2026.4.10
  19. High CVE-2026-41393 < 2026.3.31 2026.3.31
  20. Critical · 8.2 CVE-2026-41296 < 2026.3.31 2026.3.31
  21. High · 8.8 CVE-2026-41352 < 2026.3.31 2026.3.31
  22. High · 7.8 CVE-2026-41396 < 2026.3.31 2026.3.31
Show more (20) Showing 81 of 236

Know which vulnerabilities affect your application

With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.

Connect your application
DockRay newsletter

Application security in your inbox

Important vulnerabilities, actionable guidance and practical advice for your applications. Choose your technologies and follow what matters to your project.

  • A daily digest of new vulnerabilities, critical ones included.
  • Notifications about important updates.
  • Practical advice on application security and monitoring.

Leave empty to receive updates for every technology.

Free to subscribe. Unsubscribe with one click in any email.