GHSA-pjvx-rx66-r3fg OpenClaw: Cross-account sender authorization expansion in `/allowlist ... --store` account scoping

Not scored Published

An authorized user can expand sender authorization across accounts due to improper scoping in allowlist store writes, bypassing intended account isolation.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is GHSA-pjvx-rx66-r3fg?

GHSA-pjvx-rx66-r3fg is a missing authorization vulnerability in openclaw, published on 9 Mar 2026. Any signed-in user can exploit it over the network, with no action from the victim.

Official description

Summary

/allowlist ... --store resolved the selected channel accountId for reads, but store writes still dropped that accountId and wrote into the legacy unscoped pairing allowlist store.

Because default-account reads still merge legacy unscoped entries, a store entry intended for one account could silently authorize the same sender on the default account.

This is a real cross-account sender-authorization scoping bug. Severity is set to medium because exploitation requires an already-authorized user who can run /allowlist edits.

Affected Packages / Versions

  • Package: openclaw (npm)
  • Latest published version checked: 2026.3.2
  • Affected versions: <= 2026.3.2
  • Fixed on main: March 7, 2026 in 70da80bcb5574a10925469048d2ebb2abf882e73
  • Patched release: 2026.3.7

Details

The affected path was:

  • src/auto-reply/reply/commands-allowlist.ts:386-393 resolved accountId and read store state with it
  • src/auto-reply/reply/commands-allowlist.ts:697-702 and src/auto-reply/reply/commands-allowlist.ts:730-733 wrote store state without passing accountId
  • src/pairing/pairing-store.ts:231-234 and src/pairing/pairing-store.ts:534-554 still merged legacy unscoped allowlist entries into the default account

The fix scopes /allowlist ... --store writes to the resolved account and clears legacy default-account store entries on removal so legacy reads no longer create cross-account authorization bleed-through.

Impact

  • Vulnerability class: improper authorization scoping / incorrect authorization
  • Exploitation requires: an already-authorized sender who can run /allowlist edits
  • Security effect: unintended authorization expansion from one channel account into default

Fix Commit(s)

  • 70da80bcb5574a10925469048d2ebb2abf882e73 — scope /allowlist ... --store writes by account and clean up legacy default-account removals

Release Process Note

npm 2026.3.7 was published on March 8, 2026. This advisory is fixed in the released package.

Thanks @tdjackey for reporting.

Which versions are affected by GHSA-pjvx-rx66-r3fg?

2 open source packages ship an affected version, including openclaw.

PackageAffectedFixed in
openclaw npmAll versions2026.3.7
openclaw npmAll versions2026.3.7

How do I fix GHSA-pjvx-rx66-r3fg?

Upgrade openclaw to 2026.3.7 or later.

Upgrade, and check permissions on every request on the server, not only in the interface. More about Missing authorization.

Is GHSA-pjvx-rx66-r3fg being exploited?

There is no known exploitation of GHSA-pjvx-rx66-r3fg in the wild and no public exploit code.

Sources

Is GHSA-pjvx-rx66-r3fg in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free