GHSA-w6m8-cqvj-pg5v: OpenClaw has incomplete Fix for CVE-2026-32011: Feishu Webhook Pre-Auth Body Parsing DoS (Slow-Body / Slowloris Variant)
Fixed in OpenClaw 2026.3.24, the current shipping release.Advisory Details**Title**: Incomplete Fix for CVE-2026-32011: Feishu Webhook Pre-Auth Body Parsing DoS (Slow-Body / Slowloris Variant)**Description**:SummaryThe patch for CVE-2026-32011 tightened pre-auth body parsing limits (from 1MB/30s to 64KB/5s) across several webhook handlers. However, the **Feishu extension's webhook handler** was not included in the patch and still accepts request bodies with the old permissive limits (1MB body, 30-second timeout) **before** verifying the webhook signature. An unauthenticated attacker can exhaust server connection resources by sending concurrent slow HTTP POST requests to the Feishu webhook endpoint.DetailsIn `extensions/feishu/src/monitor.ts`, the webhook HTTP handler uses `installRequestBodyLimitGuard` with permissive limits at lines 276-278:The body guard is installed at line 276 **before** the request reaches the Lark SDK's `adaptDefault` webhook handler (line 284), which performs signature verification. This means:Any unauthenticated HTTP POST is acceptedThe server waits up to 30 seconds for the body to arriveEach connection can buffer up to 1MBAuthentication only happens after the body is fully readThe patched handlers (Mattermost, MSTeams, Google Chat, etc.) now use tight pre-auth limits:The Feishu extension was missed because it resides in `extensions/feishu/` (a plugin workspace) rather than in the core `src/` directory.**Attack chain:**PoC**Prerequisites:** Docker installed.**Step 1:** Create a minimal test server reproducing the vulnerable body parsing:**Step 2:** Verify the vulnerability — slow body holds connection for the full timeout:**Step 3:** Batch exploit — 10 concurrent slow connections:Log of Evidence**Exploit result (vulnerable /feishu/events):****Control result (patched /patched/events with 5s timeout):****Server-side Docker logs confirming the discrepancy:**ImpactAn unauthenticated attacker can cause a **Denial of Service** against any OpenClaw instance running the Feishu channel in webhook mode. The Feishu webhook endpoint must be publicly accessible for Feishu to deliver webhooks, so the attacker can directly target it.With ~50 concurrent slow HTTP connections (each trickling 1 byte/second), the attacker can:Exhaust the server's connection handling capacity for 30 seconds per waveBlock legitimate Feishu webhook deliveries (messages not reaching the bot)Consume up to 50MB of memory (50 × 1MB buffer) per attack waveThe attack is trivial — it only requires sending slow HTTP POST requests. No valid Feishu webhook signature or any other credentials are needed.Affected products**Ecosystem**: npm**Package name**: openclaw**Affected versions**: <= 2026.2.22**Patched versions**: NoneSeverity**Severity**: Medium**Vector string**: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:LWeaknesses**CWE**: CWE-400: Uncontrolled Resource ConsumptionOccurrences| Permalink | Description |
| :--- | :--- |
| [https://github.com/openclaw/openclaw/blob/main/extensions/feishu/src/monitor.ts#L26-L27](https://github.com/openclaw/openclaw/blob/main/extensions/feishu/src/monitor.ts#L26-L27) | Permissive body limit constants: `FEISHU_WEBHOOK_MAX_BODY_BYTES = 1024 * 1024` (1MB) and `FEISHU_WEBHOOK_BODY_TIMEOUT_MS = 30_000` (30s) — should be 64KB/5s to match the CVE-2026-32011 patch. |
| [https://github.com/openclaw/openclaw/blob/main/extensions/feishu/src/monitor.ts#L276-L280](https://github.com/openclaw/openclaw/blob/main/extensions/feishu/src/monitor.ts#L276-L280) | `installRequestBodyLimitGuard` call in `monitorWebhook()` using the permissive constants — this guard runs before authentication (the Lark SDK handler at line 284). |
CVSS v4.0: 6.9
CVSS v3.1: 5.3