<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://db.gcve.eu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Mon, 28 Sep 2026 07:33:59 +0000</lastBuildDate>
    <item>
      <title>BREW-openclaw-cli-CVE-2026-35621 — OpenClaw: Gateway operator.write Can Reach Admin-Class Channel Allowlist Persistence via chat.send</title>
      <link>https://db.gcve.eu/vuln/brew-openclaw-cli-cve-2026-35621</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Homebrew: openclaw-cli&lt;/p&gt;
&lt;p&gt;&amp;gt; Fixed in OpenClaw 2026.3.24, the current shipping release.&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;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`.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;## Details&lt;/p&gt;
&lt;p&gt;The gateway&amp;#39;s documented scope split is clear:&lt;/p&gt;
&lt;p&gt;- `chat.send` is a write-scoped action.
- direct config mutation is an admin-scoped action.&lt;/p&gt;
&lt;p&gt;The vulnerable path is:&lt;/p&gt;
&lt;p&gt;1. A gateway client authenticates with `operator.write`.
2. The client calls `chat.send`, which is intentionally allowed for that scope.
3. `chat.send` builds an internal message context with `CommandAuthorized: true` and carries `GatewayClientScopes` into the reply pipeline.
4. `resolveCommandAuthorization(...)` converts that internal message into `isAuthorizedSender=true` in the common case where no stricter `commands.allowFrom` override is configured.
5. `/allowlist add|remove` accepts that generic command authorization and p…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Homebrew: openclaw-cli&lt;/p&gt;
&lt;p&gt;&amp;gt; Fixed in OpenClaw 2026.3.24, the current shipping release.&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;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`.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;## Details&lt;/p&gt;
&lt;p&gt;The gateway&amp;#39;s documented scope split is clear:&lt;/p&gt;
&lt;p&gt;- `chat.send` is a write-scoped action.
- direct config mutation is an admin-scoped action.&lt;/p&gt;
&lt;p&gt;The vulnerable path is:&lt;/p&gt;
&lt;p&gt;1. A gateway client authenticates with `operator.write`.
2. The client calls `chat.send`, which is intentionally allowed for that scope.
3. `chat.send` builds an internal message context with `CommandAuthorized: true` and carries `GatewayClientScopes` into the reply pipeline.
4. `resolveCommandAuthorization(...)` converts that internal message into `isAuthorizedSender=true` in the common case where no stricter `commands.allowFrom` override is configured.
5. `/allowlist add|remove` accepts that generic command authorization and p…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/brew-openclaw-cli-cve-2026-35621</guid>
    </item>
    <item>
      <title>CVE-2026-35621 — OpenClaw &lt; 2026.3.24 - Privilege Escalation via chat.send to Allowlist Persistence</title>
      <link>https://db.gcve.eu/vuln/cve-2026-35621</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; OpenClaw&lt;/p&gt;
&lt;p&gt;OpenClaw before 2026.3.24 contains a privilege escalation vulnerability where the /allowlist command fails to re-validate gateway client scopes for internal callers, allowing operator.write-scoped clients to mutate channel authorization policy. Attackers can exploit chat.send to build an internal command-authorized context and persist channel allowFrom and groupAllowFrom policy changes reserved for operator.admin scope.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; OpenClaw&lt;/p&gt;
&lt;p&gt;OpenClaw before 2026.3.24 contains a privilege escalation vulnerability where the /allowlist command fails to re-validate gateway client scopes for internal callers, allowing operator.write-scoped clients to mutate channel authorization policy. Attackers can exploit chat.send to build an internal command-authorized context and persist channel allowFrom and groupAllowFrom policy changes reserved for operator.admin scope.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/cve-2026-35621</guid>
    </item>
  </channel>
</rss>
