| Advisory ID | github_osv/GHSA-q447-rj3r-2cgh |
| Aliases |
CVE-2026-28478
|
| Summary | OpenClaw affected by denial of service via unbounded webhook request body buffering ### Summary Multiple webhook handlers accepted and buffered request bodies without a strict unified byte/time limit. A remote unauthenticated attacker could send oversized payloads and cause memory pressure, degrading availability. ### Details Affected packages: - `openclaw` (npm): `<2026.2.12` - `clawdbot` (npm): `<=2026.1.24-3` Root cause: - Webhook code paths buffered request payloads without consistent `maxBytes` + `timeoutMs` enforcement. - Some SDK-backed handlers parse request bodies internally and needed stream-level guards. Attack shape: - Send very large JSON payloads or slow/incomplete uploads to webhook endpoints. - Observe elevated memory usage and request handler pressure. ### Impact Remote unauthenticated availability impact (DoS) via request body amplification/memory pressure. ### Patch details (implemented) - Added shared bounded request-body helper in `src/infra/http-body.ts`. - Exported helper in `src/plugin-sdk/index.ts` for extension reuse. - Migrated webhook body readers to shared helper for: - LINE - Nextcloud Talk - Google Chat - Zalo - BlueBubbles - Nostr profile HTTP - Voice-call - Gateway hooks - Added stream guards for SDK handlers that parse request bodies internally: - Slack - Telegram - Feishu - Added explicit Express JSON body limit handling for MS Teams webhook path. - Standardized failure responses: - `413 Payload Too Large` - `408 Request Timeout` ### Tests - Added regression tests: - `src/infra/http-body.test.ts` - `src/line/monitor.read-body.test.ts` - `extensions/nextcloud-talk/src/monitor.read-body.test.ts` - Focused webhook/security test suite passes for patched paths. ### Remediation Upgrade to the first release containing this patch. ## Credits Thanks @vincentkoc for reporting. |
| Status | Published |
| Exploitability | 0.5 |
| Weighted Severity | 6.8 |
| Risk | 3.4 |
| Affected and Fixed Packages | Package Details |
| Introduced and Fixed Package Commit Patches | Package Commit Patches Details |
| System | Score | Found at |
|---|---|---|
| cvssv3.1 | 7.5 | https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/02/GHSA-q447-rj3r-2cgh/GHSA-q447-rj3r-2cgh.json |
| generic_textual | HIGH |
| Reference id | Reference type | URL |
|---|---|---|
| https://github.com/openclaw/openclaw | ||
| GHSA-q447-rj3r-2cgh | https://github.com/openclaw/openclaw/security/advisories/GHSA-q447-rj3r-2cgh |
No EPSS data available for this advisory.
| Patch URL | |
|---|---|
| There are no known patches. | |
| Attack Vector (AV) | Attack Complexity (AC) | Privileges Required (PR) | User Interaction (UI) | Scope (S) | Confidentiality Impact (C) | Integrity Impact (I) | Availability Impact (A) |
|---|---|---|---|---|---|---|---|
network adjacent_network local physical |
low high |
none low high |
none required |
unchanged changed |
high low none |
high low none |
high low none |
Vector: SSVCv2/E:N/A:Y/T:P/P:M/B:A/M:M/D:T/2026-03-09T18:11:57Z/
Decision: Track
Source URL: https://github.com/cisagov/vulnrichment/blob/develop/2026/28xxx/CVE-2026-28478.json
Source Advisory: vulnrichment/CVE-2026-28478
[{'Exploitation': 'none'},
{'Automatable': 'yes'},
{'Technical Impact': 'partial'},
{'Mission Prevalence': 'minimal'},
{'Public Well-being Impact': 'material'},
{'Mission & Well-being': 'medium'}]