| Advisory ID | github_osv/GHSA-qj77-c3c8-9c3q |
| Aliases |
CVE-2026-28391
|
| Summary | OpenClaw's Windows cmd.exe parsing may bypass exec allowlist/approval gating ### Summary On Windows nodes, exec requests were executed via `cmd.exe /d /s /c <rawCommand>`. In allowlist/approval-gated mode, the allowlist analysis did not model Windows `cmd.exe` parsing and metacharacter behavior. A crafted command string could cause `cmd.exe` to interpret additional operations (for example command chaining via `&`, or expansion via `%...%` / `!...!`) beyond what was allowlisted/approved. ### Affected Packages / Versions - Package: `openclaw` (npm) - Affected: `<= 2026.2.1` - Patched: `>= 2026.2.2` - Latest (npm) as of 2026-02-14: `2026.2.13` ### Details - Default installs: Not affected unless you opt into exec allowlist/approval gating on Windows nodes. - Windows execution uses `cmd.exe` via `src/infra/node-shell.ts`. - The fix hardens Windows allowlist enforcement by: - Passing the platform into allowlist analysis and rejecting Windows shell metacharacters. - Treating `cmd.exe` invocation as not allowlist-safe on Windows. - Avoiding `cmd.exe` entirely in allowlist mode by executing the parsed argv directly when possible. ### Fix Commit(s) - `a7f4a53ce80c98ba1452eb90802d447fca9bf3d6` Thanks @simecek for reporting. |
| Status | Published |
| Exploitability | 0.5 |
| Weighted Severity | 8.8 |
| Risk | 4.4 |
| Affected and Fixed Packages | Package Details |
| Introduced and Fixed Package Commit Patches | Package Commit Patches Details |
| System | Score | Found at |
|---|---|---|
| cvssv3.1 | 9.8 | https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/02/GHSA-qj77-c3c8-9c3q/GHSA-qj77-c3c8-9c3q.json |
| cvssv4 | 7.4 | https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/02/GHSA-qj77-c3c8-9c3q/GHSA-qj77-c3c8-9c3q.json |
| generic_textual | HIGH |
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 |
| Attack Vector (AV) | Attack Complexity (AC) | Attack Requirements (AT) | Privileges Required (PR) | User Interaction (UI) | Vulnerable System Impact Confidentiality (VC) | Vulnerable System Impact Integrity (VI) | Vulnerable System Impact Availability (VA) | Subsequent System Impact Confidentiality (SC) | Subsequent System Impact Integrity (SI) | Subsequent System Impact Availability (SA) |
|---|---|---|---|---|---|---|---|---|---|---|
network adjacent local physical |
low high |
none present |
none low high |
none passive active |
high low none |
high low none |
high low none |
high low none |
high low none |
high low none |
Vector: SSVCv2/E:N/A:Y/T:T/P:M/B:A/M:M/D:T/2026-03-10T14:39:10Z/
Decision: Track
Source URL: https://github.com/cisagov/vulnrichment/blob/develop/2026/28xxx/CVE-2026-28391.json
Source Advisory: vulnrichment/CVE-2026-28391
[{'Exploitation': 'none'},
{'Automatable': 'yes'},
{'Technical Impact': 'total'},
{'Mission Prevalence': 'minimal'},
{'Public Well-being Impact': 'material'},
{'Mission & Well-being': 'medium'}]