OpenClaw: Gateway operator.write Can Reach Admin-Class Channel Allowlist Persistence via chat.send
CVE-2026-35621GHSA-94pw-c6m8-p9p9
What to do
Vendor fix available. Upgrade each affected package to the fixed version on its release line (openclaw 2026.3.24), redeploy, then verify what is actually installed.
This page has no inventory attached, so it cannot say whether you are affected. A vendor fix is not proof that your deployment is fixed.
Affected packages
npm openclaw
- Affected
- <= 2026.3.23
- Fixed in
- 2026.3.24
Sources
- Open Source Vulnerabilities (OSV.dev), including the GitHub Advisory Database
OSV record GHSA-94pw-c6m8-p9p9 lists affected ranges: npm openclaw >=0 <2026.3.24 (fixed)
VerifiedObserved Structured OSV record; GitHub-reviewed advisory.
- GitHub Advisory Database and maintainer security advisories on GitHub
GitHub-reviewed advisory GHSA-94pw-c6m8-p9p9 lists affected ranges: npm openclaw >=0 <=2026.3.23
VerifiedObserved Structured GitHub Advisory Database record (type=reviewed) from the GitHub REST API.
Severity and exploitation
- Exploitation
- No confirmed exploitation recorded. Patch Next marks exploitation only from CISA KEV.
- CVSS
- not scored
- EPSS
- CVE-2026-35621: 0.26% estimated exploitation activity in the next 30 days; percentile 18.40 (FIRST EPSS, 2026-11-03). This is a model estimate, not proof of exploitation or customer exposure.
Source description
As published by the source; long descriptions are shortened.
Fixed in OpenClaw 2026.3.24, the current shipping release. Summary The shared /allowlist command persists channel authorization config through writeConfigFile(...) but does not re-validate gateway client scopes for internal gateway callers. Because chat.send is intentionally reachable to operator.write callers and still creates a generic command-authorized internal context, an authenticated write-scoped gateway client can indirectly mutate channel allowFrom and groupAllowFrom policy that direct config.patch correctly reserves to operator.admin. This is not just a generic code smell. The current code already shows the intended boundary by adding sink-side internal admin checks to shared /config and /plugins writes, but /allowlist was left behind. Details The gateway's documented scope split is clear: - chat.send is a write-scoped action. - direct config mutation is an admin-scoped action. The vulnerable path is: 1. A gateway client authenticates with operator.write. 2. The client…
Dates and revisions
- Published by the source
- Last modified by the source
- Source last checked
- Revision 2 · amended ·
Amended from ghsa record GHSA-94pw-c6m8-p9p9
- Revision 1 · created ·
Published from osv record GHSA-94pw-c6m8-p9p9
Agent brief
Preview the exact text before you copy it. Commands are read-only suggestions; review them before running anything.
# Patch Next advisory brief: CVE-2026-35621 Advisory: OpenClaw: Gateway operator.write Can Reach Admin-Class Channel Allowlist Persistence via chat.send IDs: CVE-2026-35621, GHSA-94pw-c6m8-p9p9 Record: https://patchnext.com/advisories/cve-2026-35621 (revision 2, source checked 26 Oct 2026, 12:48 UTC) Inventory: none attached. This brief comes from a public page and does not say whether any deployment is affected. Severity: Unrated Exploitation: no confirmed exploitation recorded. Patch Next confirms exploitation only from CISA KEV. Vendor response: Vendor fix available; fixed versions by package: openclaw 2026.3.24. A vendor fix does not mean a deployment is fixed. ## Affected components - npm openclaw: affected <= 2026.3.23; fixed in 2026.3.24 ## Suggested inspection (read-only) - `npm ls openclaw --all`: lists every installed copy and version, including transitive ones. Run in the project root after `npm ci`. ## Supported action Upgrade each affected component to a fixed version on its release line. For a transitive dependency, upgrade the parent package or add an override or constraint, then regenerate the lockfile. Redeploy every environment that ran an affected version. ## Required regression checks - Run the test suite and a production build. - Exercise the features that depend on openclaw. - Repeat the inspection and confirm that only fixed versions remain installed. ## Rollback considerations - Keep the previous lockfile and deployment artifact. Rolling back reinstates the vulnerable version, so apply any documented mitigation while you fix forward. ## Unresolved questions - Which deployments run an affected version? - Exploitation status can change. Check again before lowering the priority. - Mark the work resolved only after the fixed version is verified in production. ## Sources - Verified: https://osv.dev/vulnerability/GHSA-94pw-c6m8-p9p9 (OSV record GHSA-94pw-c6m8-p9p9 lists affected ranges: npm openclaw >=0 <2026.3.24 (fixed)) - Verified: https://github.com/advisories/GHSA-94pw-c6m8-p9p9 (GitHub-reviewed advisory GHSA-94pw-c6m8-p9p9 lists affected ranges: npm openclaw >=0 <=2026.3.23) Commands are suggestions: review each one before running it.
Loading voting…