| Titel | nearai IronClaw 0.29.1 Improper Authorization (CWE-285) |
|---|
| Beschreibung | # Technical Details
A Shell Approval Bypass via `sort --compress-program` exists in the low-risk allowlist in `src/tools/builtin/shell.rs` of IronClaw.
The application classifies `sort` as a low-risk command in the `LOW_RISK_PATTERNS` table without considering that GNU `sort` supports `--compress-program`, which delegates execution to an attacker-chosen external helper. When `shell` is configured as `AlwaysAllow`, a command beginning with `sort --compress-program=<helper>` is classified as `RiskLevel::Low`, maps to `ApprovalRequirement::UnlessAutoApproved`, and executes without a fresh approval prompt. The external helper program runs under the IronClaw process context.
# Vulnerable Code
File: src/tools/builtin/shell.rs
Method: LOW_RISK_PATTERNS table includes "sort" as read-only; classify_command_risk() returns Low for sort-prefixed segments without inspecting `--compress-program`
Why: `sort` is trusted as a safe/read-only binary, but its `--compress-program` flag allows arbitrary external helper execution that the classifier does not detect.
# Reproduction
1. Deploy IronClaw with `shell=AlwaysAllow` and GNU `sort` available on the host.
2. Send a shell command: `sort --compress-program=/path/to/helper.sh /dev/null`.
3. Observe that the external helper script executes and creates filesystem canary evidence.
4. Confirm the command was classified as `Low` risk and auto-approved.
# Impact
- Approval bypass enabling host- or container-context command execution through a helper program delegated by GNU `sort`.
- An authenticated user or prompt-influenced LLM action can spawn attacker-selected external programs.
- Defeats the explicit-approval safety boundary for commands that appear benign by prefix. |
|---|
| Quelle | ⚠️ https://github.com/nearai/ironclaw/issues/4862 |
|---|
| Benutzer | Erichen-apple (UID 99087) |
|---|
| Einreichung | 18.06.2026 08:37 (vor 2 Monaten) |
|---|
| Moderieren | 05.08.2026 18:45 (2 months later) |
|---|
| Status | Duplikat |
|---|
| VulDB Eintrag | 386265 [nearai ironclaw bis 0.29.1 shell.rs classify_command_risk erweiterte Rechte] |
|---|
| Punkte | 0 |
|---|