You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: mark glob DoS limit and shift overflow as fixed in SECURITY.md
Both were already implemented by the security agent but SECURITY.md
listed them as "pending". Glob has 100,000 result limit, shifts use
checked_shl/checked_shr.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: SECURITY.md
+2-7Lines changed: 2 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -290,13 +290,8 @@ A manual security audit (P9) was performed across the Rust CLI codebase. Finding
290
290
|**Missing SAFETY comments**| Low | All `unsafe` blocks now have `// SAFETY:` annotations explaining the invariants relied upon. |
291
291
|**Null byte handling in chown**| Medium | Paths or usernames containing null bytes caused panics via `CString::new()`. Now returns a descriptive error instead of panicking. |
292
292
|**Brace expansion DoS**| High | Nested brace expansion (e.g., `{1..9}{1..9}{1..9}{1..9}`) could generate unbounded results. Added 10,000 result limit. |
293
-
294
-
### Pending (tracked for future work)
295
-
296
-
| Issue | Severity | Status |
297
-
|-------|----------|--------|
298
-
|**Glob expansion DoS**| Medium | Patterns like `/**/**/**` could generate unbounded results. 100,000 result limit planned. |
299
-
|**Shift overflow**| Low |`$((1 << 64))` was fixed in 2026-02-12, but other arithmetic edge cases may benefit from checked arithmetic throughout. |
293
+
|**Glob expansion DoS**| Medium | Patterns like `/**/**/**` could generate unbounded results. Added 100,000 result limit. |
294
+
|**Shift overflow**| Medium | Shift operations (`<<`, `>>`) now use `checked_shl`/`checked_shr` to return errors instead of panicking on overflow. |
0 commit comments