The /pair approve command path called device approval without forwarding caller scopes into the core approval check.
A caller that held pairing privileges but not admin privileges could approve a pending device request asking for broader scopes, including admin access.
extensions/device-pair/index.ts, src/infra/device-pairing.ts
<= 2026.3.24>= 2026.3.282026.3.28 contains the fix.Fixed by commit 4ee4960de2 (Pairing: forward caller scopes during approval).
OpenClaw thanks @AntAISecurityLab for reporting.
{
"github_reviewed": true,
"nvd_published_at": null,
"cwe_ids": [
"CWE-863"
],
"github_reviewed_at": "2026-03-31T23:50:22Z",
"severity": "CRITICAL"
}