CVE-2026-28448
OpenClaw 2026.1.29 < 2026.2.1 - Authorization Bypass in Twitch Plugin allowFrom Access Control
OpenClaw versions 2026.1.29 prior to 2026.2.1 contain a vulnerability in the Twitch plugin (must be installed and enabled) in which it fails to enforce the allowFrom allowlist when allowedRoles is unset or empty, allowing unauthorized Twitch users to trigger agent dispatch. Remote attackers can mention the bot in Twitch chat to bypass access control and invoke the agent pipeline, potentially causing unintended actions or resource exhaustion.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- Low
- Integrity
- Low
- Availability
- Low
Exploit likelihood
What each source reports
CVE List Score used 6.3
OpenClaw 2026.1.29 < 2026.2.1 - Authorization Bypass in Twitch Plugin allowFrom Access Control
OpenClaw versions 2026.1.29 prior to 2026.2.1 contain a vulnerability in the Twitch plugin (must be installed and enabled) in which it fails to enforce the allowFrom allowlist when allowedRoles is unset or empty, allowing unauthorized Twitch users to trigger agent dispatch. Remote attackers can mention the bot in Twitch chat to bypass access control and invoke the agent pipeline, potentially causing unintended actions or resource exhaustion.
- Record
CVE-2026-28448- CVSS 4.0
- 6.3 Medium
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N - CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Weakness
- CWE-285
- Updated
- 2026-11-02
EUVDEUVD-2026-9898 6.3
OpenClaw versions 2026.1.29 prior to 2026.2.1 contain a vulnerability in the Twitch plugin (must be installed and enabled) in which it fails to enforce the allowFrom allowlist when allowedRoles is unset or empty, allowing unauthorized Twitch users to trigger agent dispatch. Remote attackers can mention the bot in Twitch chat to bypass access control and invoke the agent pipeline, potentially causing unintended actions or resource exhaustion.
- Record
EUVD-2026-9898- CVSS 4.0
- 6.3 Medium
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-33rq-m5x2-fvgf 7.3
OpenClaw Twitch allowFrom is not enforced in optional plugin, unauthorized chat users can trigger agent pipeline
Summary
In the optional Twitch channel plugin (extensions/twitch), allowFrom is documented as a hard allowlist of Twitch user IDs, but it was not enforced as a hard gate. If allowedRoles is unset or empty, the access control path defaulted to allow, so any Twitch user who could mention the bot could reach the agent dispatch pipeline.
Scope note: This only affects deployments that installed and enabled the Twitch plugin. Core OpenClaw installs that do not install/enable the Twitch plugin are not impacted.
Affected Packages / Versions
- Package:
openclaw(npm) - Affected:
>= 2026.1.29, < 2026.2.1 - Fixed:
>= 2026.2.1
Details
Affected component: Twitch plugin access control (extensions/twitch/src/access-control.ts).
Problematic logic in checkTwitchAccessControl():
- When
allowFromwas configured, the code returnedallowed: truefor members but did not returnallowed: falsefor non-members, so execution fell through. - If
allowedRoleswas unset or empty, the function returnedallowed: trueby default, even whenallowFromwas configured.
Proof of Concept (PoC)
- Install and enable the Twitch plugin.
- Configure an
allowFromlist, but do not setallowedRoles(or set it to an empty list). - From a different Twitch account whose user ID is NOT in
allowFrom, send a message that mentions the bot (for example@<botname> hello). - Observe the message is processed and can trigger agent dispatch/replies despite not being allowlisted.
Impact
Authorization bypass for operators who relied on allowFrom to restrict who can invoke the bot in Twitch chat. Depending on configuration (tools, routing, model costs), this could lead to unintended actions/responses and resource or cost exhaustion.
Fix Commit(s)
8c7901c984866a776eb59662dc9d8b028de4f0d0
Workaround
Upgrade to openclaw >= 2026.2.1.
Thanks @MegaManSec (https://joshua.hu) of AISLE Research Team for reporting.
- Record
GHSA-33rq-m5x2-fvgf- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Weakness
- CWE-285
- Updated
- 2026-11-02
NVD 6.3
OpenClaw versions 2026.1.29 prior to 2026.2.1 contain a vulnerability in the Twitch plugin (must be installed and enabled) in which it fails to enforce the allowFrom allowlist when allowedRoles is unset or empty, allowing unauthorized Twitch users to trigger agent dispatch. Remote attackers can mention the bot in Twitch chat to bypass access control and invoke the agent pipeline, potentially causing unintended actions or resource exhaustion.
- Record
CVE-2026-28448- CVSS 4.0
- 6.3 Medium
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - CVSS 3.1
- 9.4 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L - Weakness
- CWE-285
- Updated
- 2026-11-02
OSV 6.3
OpenClaw 2026.1.29 < 2026.2.1 - Authorization Bypass in Twitch Plugin allowFrom Access Control
OpenClaw versions 2026.1.29 prior to 2026.2.1 contain a vulnerability in the Twitch plugin (must be installed and enabled) in which it fails to enforce the allowFrom allowlist when allowedRoles is unset or empty, allowing unauthorized Twitch users to trigger agent dispatch. Remote attackers can mention the bot in Twitch chat to bypass access control and invoke the agent pipeline, potentially causing unintended actions or resource exhaustion.
- Record
CVE-2026-28448- CVSS 4.0
- 6.3 Medium
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N - Weakness
- CWE-285
- Updated
- 2026-11-02
OSVGHSA-33rq-m5x2-fvgf 7.3
OpenClaw Twitch allowFrom is not enforced in optional plugin, unauthorized chat users can trigger agent pipeline
Summary
In the optional Twitch channel plugin (extensions/twitch), allowFrom is documented as a hard allowlist of Twitch user IDs, but it was not enforced as a hard gate. If allowedRoles is unset or empty, the access control path defaulted to allow, so any Twitch user who could mention the bot could reach the agent dispatch pipeline.
Scope note: This only affects deployments that installed and enabled the Twitch plugin. Core OpenClaw installs that do not install/enable the Twitch plugin are not impacted.
Affected Packages / Versions
- Package:
openclaw(npm) - Affected:
>= 2026.1.29, < 2026.2.1 - Fixed:
>= 2026.2.1
Details
Affected component: Twitch plugin access control (extensions/twitch/src/access-control.ts).
Problematic logic in checkTwitchAccessControl():
- When
allowFromwas configured, the code returnedallowed: truefor members but did not returnallowed: falsefor non-members, so execution fell through. - If
allowedRoleswas unset or empty, the function returnedallowed: trueby default, even whenallowFromwas configured.
Proof of Concept (PoC)
- Install and enable the Twitch plugin.
- Configure an
allowFromlist, but do not setallowedRoles(or set it to an empty list). - From a different Twitch account whose user ID is NOT in
allowFrom, send a message that mentions the bot (for example@<botname> hello). - Observe the message is processed and can trigger agent dispatch/replies despite not being allowlisted.
Impact
Authorization bypass for operators who relied on allowFrom to restrict who can invoke the bot in Twitch chat. Depending on configuration (tools, routing, model costs), this could lead to unintended actions/responses and resource or cost exhaustion.
Fix Commit(s)
8c7901c984866a776eb59662dc9d8b028de4f0d0
Workaround
Upgrade to openclaw >= 2026.2.1.
Thanks @MegaManSec (https://joshua.hu) of AISLE Research Team for reporting.
- Record
GHSA-33rq-m5x2-fvgf- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Weakness
- CWE-285
- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
openclawnpm | 2026.1.29 up to 2026.2.1 | 2026.2.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-28448 is a medium vulnerability (CVSS 6.3) in Openclaw, published February 17, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.52%, the 44th percentile. Fixed in openclaw 2026.2.1.
References
github.com/openclaw/openclaw/security/advisories/GHSA-33rq-m5x2-fvgf
github.com/openclaw/openclaw/commit/8c7901c984866a776eb59662dc9d8b028de4f0d0
vulncheck.com/advisories/openclaw-authorization-bypass-in-twitch-plugin-allowfrom-access-control
github.com/openclaw/openclaw/releases/tag/v2026.2.1
nvd.nist.gov/vuln/detail/CVE-2026-28448
github.com/advisories/GHSA-33rq-m5x2-fvgf
github.com/CVEProject/cvelistV5/tree/main/cves/2026/28xxx/CVE-2026-28448.json
github.com/openclaw/openclaw