CVE-2026-28363 Overview
CVE-2026-28363 is an input validation bypass vulnerability in OpenClaw, a Node.js application, that allows attackers to circumvent the tools.exec.safeBins validation mechanism. The vulnerability exists in allowlist mode where the validation only checks for exact string matches like --compress-program, failing to account for GNU long-option abbreviations such as --compress-prog. This oversight enables approval-free execution paths that were designed to require explicit approval.
Critical Impact
Attackers with low-privilege network access can bypass security controls intended to prevent unauthorized command execution, potentially leading to full system compromise through unapproved binary execution.
Affected Products
- OpenClaw versions prior to 2026.2.23
- OpenClaw Node.js package (all vulnerable versions)
Discovery Timeline
- 2026-02-27 - CVE CVE-2026-28363 published to NVD
- 2026-02-27 - Last updated in NVD database
Technical Details for CVE-2026-28363
Vulnerability Analysis
This vulnerability stems from an incomplete denylist implementation in OpenClaw's tools.exec.safeBins validation function. The security mechanism was designed to prevent execution of potentially dangerous commands by validating command-line arguments against a list of known dangerous options. However, the implementation only matched exact strings, failing to consider that GNU utilities accept abbreviated versions of long options.
GNU long-option abbreviation is a feature where command-line options can be shortened to any unambiguous prefix. For example, --compress-program can be abbreviated to --compress-prog, --compress-p, or even shorter variants, as long as the abbreviation uniquely identifies the intended option. This behavior is standard across GNU utilities and is documented in GNU coding standards.
The security implication is significant: while the OpenClaw allowlist explicitly denied --compress-program for the sort command, attackers could use abbreviated forms like --compress-prog to achieve the same effect while bypassing the validation entirely. This creates an approval-free execution path for functionality that was intentionally restricted.
Root Cause
The root cause is classified as CWE-184: Incomplete List of Disallowed Inputs. The safeBins validation function performs exact string matching against a predefined list of dangerous options without accounting for GNU's option abbreviation behavior. This incomplete approach to input validation creates a gap between what the security control intends to block and what it actually blocks.
Attack Vector
The attack is network-accessible and requires low privileges to execute. An authenticated attacker can craft requests that include abbreviated GNU long options for the sort command. Since the validation logic only checks for the full option string --compress-program, the attacker's abbreviated option --compress-prog passes validation and reaches the underlying system execution layer. This allows the attacker to specify an arbitrary compression program, which could be leveraged for command injection or privilege escalation depending on the system configuration.
The attack flow involves:
- Attacker identifies that OpenClaw uses allowlist validation for the sort command
- Attacker crafts a request using abbreviated GNU options (e.g., --compress-prog instead of --compress-program)
- The abbreviated option bypasses the exact-match validation in safeBins
- The underlying sort command interprets the abbreviated option and executes the attacker-specified program
Detection Methods for CVE-2026-28363
Indicators of Compromise
- Unusual command-line arguments containing abbreviated GNU long options (e.g., --compress-p instead of --compress-program)
- Unexpected child process spawning from OpenClaw application processes
- Log entries showing sort command executions with compression-related flags that don't match expected patterns
Detection Strategies
- Implement application-level logging to capture all command-line arguments passed to system utilities
- Monitor for process execution chains where OpenClaw spawns unexpected child processes
- Review application logs for sort commands with partial option matches like --compress-p*
- Deploy runtime application security monitoring to detect command injection patterns
Monitoring Recommendations
- Enable verbose logging in OpenClaw to capture all tools.exec operations
- Set up alerts for any sort command execution with --compress prefix options
- Monitor system call traces for the OpenClaw process to identify unauthorized binary executions
- Implement egress filtering to detect potential data exfiltration following compromise
How to Mitigate CVE-2026-28363
Immediate Actions Required
- Upgrade OpenClaw to version 2026.2.23 or later immediately
- Audit existing deployments for signs of exploitation
- Review and restrict permissions for the OpenClaw service account
- Consider temporarily disabling allowlist mode if upgrade is not immediately possible
Patch Information
The OpenClaw development team has addressed this vulnerability in version 2026.2.23. The fix implements proper handling of GNU long-option abbreviations in the safeBins validation logic, ensuring that abbreviated forms of dangerous options are also blocked. For detailed patch information and security advisory, see the GitHub Security Advisory.
Workarounds
- Disable the sort command in tools.exec.safeBins configuration until patching is possible
- Implement additional input validation at the network perimeter to block requests containing abbreviated GNU options
- Run OpenClaw in a sandboxed environment with restricted system access
- Apply principle of least privilege to limit the impact of potential exploitation
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

