Summary
OpenClaw's Synology Chat dmPolicy=allowlist failed open on empty allowedUserIds, allowing unauthorized agent dispatch
In openclaw versions 2026.2.22 and 2026.2.23, the optional synology-chat channel plugin had an authorization fail-open condition: when dmPolicy was allowlist and allowedUserIds was empty/unset, unauthorized senders were still allowed through to agent dispatch.
This is assessed as medium severity because it requires channel/plugin setup and Synology sender access, but can still trigger downstream agent/tool actions.
Affected Packages / Versions
- Package:
openclaw(npm) - Affected versions:
>= 2026.2.22, <= 2026.2.23 - Latest published affected version at patch time:
2026.2.23 - Planned patched version:
2026.2.24
Details
Root cause was a policy mismatch across plugin code paths:
- Default resolved DM policy was
allowlist. - Empty
allowedUserIdswas treated as allow-all. - Webhook auth in allowlist mode depended on that helper.
Result: allowlist with empty list behaved like open access for inbound Synology senders.
Fix Commit(s)
0ee30361b8f6ef3f110f3a7b001da6dd3df96bb57655c0cb3a47d0647cbbf5284e177f90b4b82ddb
Release Process Note
patched_versions is pre-set to the planned next release (>= 2026.2.24). Once npm release 2026.2.24 is published, the advisory can be published directly.
OpenClaw thanks @tdjackey for reporting.
Publication Update (2026-02-25)
[email protected] is published on npm and contains the fix commit(s) listed above. This advisory now marks >= 2026.2.24 as patched.
Impact
The application does not correctly enforce access controls, allowing a principal to access resources or operations beyond their granted permissions. Typical impact: unauthorized data access or execution of privileged operations.
Affected versions
Security releases
Kodem intelligence
Severity tells you how bad this could be in the worst case. It does not tell you whether you are exposed. Exploitability and impact are functions of runtime truth: whether the vulnerable code is present, reachable, and actually executes in your application. A vulnerable package can sit in your dependency tree and never run.
Kodem, an Intelligent Application Security platform, uses runtime intelligence to reveal which vulnerabilities actually execute in production, so teams prioritize the ones that genuinely matter. Kodem's runtime-powered SCA identifies whether this CVE is reachable in your applications.
Already deployed Kodem?
See it in your environmentNew to Kodem? Get a demo →Remediation advice
Kodem Kai can prioritize this vulnerability in your dependency tree and generate a fix recommendation.
Frequently Asked Questions
- What is CVE-2026-31998? CVE-2026-31998 is a medium-severity incorrect authorization vulnerability in openclaw (npm), affecting versions >= 2026.2.22, <= 2026.2.23. It is fixed in 2026.2.24. The application does not correctly enforce access controls, allowing a principal to access resources or operations beyond their granted permissions.
- Which versions of openclaw are affected by CVE-2026-31998? openclaw (npm) versions >= 2026.2.22, <= 2026.2.23 is affected.
- Is there a fix for CVE-2026-31998? Yes. CVE-2026-31998 is fixed in 2026.2.24. Upgrade to this version or later.
- Is CVE-2026-31998 exploitable, and should I be worried? Whether CVE-2026-31998 is exploitable in your environment depends on whether the vulnerable code is present and reachable. A CVSS score is a worst-case rating; it does not account for your specific deployment, configuration, or usage patterns. Kodem, an Intelligent Application Security platform, uses runtime intelligence to show which vulnerabilities actually execute in production, so you can focus on the ones that represent real risk. Get a demo
- What actually determines whether CVE-2026-31998 is exploitable, and how bad it is? Exploitability and impact are not fixed properties of a CVE. They depend on runtime truth: whether the vulnerable code is present, reachable, and actually executes in your application. A high CVSS score on a dependency that never runs is not the same as real risk. Kodem, an Intelligent Application Security platform, uses runtime intelligence to reveal which vulnerabilities actually execute in production, so teams prioritize the ones that genuinely matter.
- How do I fix CVE-2026-31998? Upgrade
openclawto 2026.2.24 or later.