diff options
| author | salmonik <salmonik@tuta.io> | 2026-07-29 02:24:41 +0200 |
|---|---|---|
| committer | salmonik <salmonik@tuta.io> | 2026-07-29 02:24:41 +0200 |
| commit | c654a6d17eb58adbb15b9c47ab32bcc3a1666307 (patch) | |
| tree | 545544bf7d805254415da787fad1cdc711767833 /piolium/attack-surface/deep-cleanup-summary.json | |
| parent | Add per-instance mod management with client-side detection (diff) | |
| download | minecraft-ui-c654a6d17eb58adbb15b9c47ab32bcc3a1666307.tar.gz minecraft-ui-c654a6d17eb58adbb15b9c47ab32bcc3a1666307.zip | |
Security audit fixes: patch 16 vulnerabilities across 7 source files
CRITICAL:
- Instance name path traversal (AP-001): sanitize::sanitize_instance_name()
strips .., /, \, \0, spaces, special chars at all 12 join call sites
- Zip-slip protection in world import: starts_with() guard after enclosed_name()
HIGH:
- RCON command injection: validate_username() rejects non-MC usernames
across all 6 player action macros (whitelist, op, ban)
- Level-seed properties injection: sanitize_seed() strips \n \r = : \0
- CSRF protection: SameSite=Lax -> SameSite=Strict on session cookie
MEDIUM:
- Session TTL: server-side 24h expiry via strftime check in require_auth
- Rate limiting: in-memory 10-ip/5min sliding window on login
- Background task stale is_active: all queries use concrete WHERE id=?1
- Mod validation DoS: 500MB cap, 10k class scan limit, 10k CP entry cap
LOW:
- Logout auth guard: moved into protected route group + CurrentUser param
- Mod orphan race: DB insert before file write
- Backup orphan race: DB insert before ZIP creation
- Template fix: broken Askama == comparisons in edit.html
All fixes compile clean with zero warnings. 10 unit tests pass.
Diffstat (limited to 'piolium/attack-surface/deep-cleanup-summary.json')
| -rw-r--r-- | piolium/attack-surface/deep-cleanup-summary.json | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/piolium/attack-surface/deep-cleanup-summary.json b/piolium/attack-surface/deep-cleanup-summary.json new file mode 100644 index 0000000..5242495 --- /dev/null +++ b/piolium/attack-surface/deep-cleanup-summary.json | |||
| @@ -0,0 +1,34 @@ | |||
| 1 | { | ||
| 2 | "summaryPath": "piolium/attack-surface/deep-cleanup-summary.json", | ||
| 3 | "removed": [ | ||
| 4 | "piolium/tmp", | ||
| 5 | "piolium/chamber-workspace", | ||
| 6 | "piolium/adversarial-reviews", | ||
| 7 | "piolium/bypass-analysis", | ||
| 8 | "piolium/codeql-artifacts", | ||
| 9 | "piolium/codeql-queries", | ||
| 10 | "piolium/semgrep-rules", | ||
| 11 | "piolium/confirm-workspace", | ||
| 12 | "piolium/findings-draft", | ||
| 13 | "piolium/attack-pattern-registry.json" | ||
| 14 | ], | ||
| 15 | "missing": [ | ||
| 16 | "piolium/probe-workspace", | ||
| 17 | "piolium/agentic-actions-res", | ||
| 18 | "piolium/codeql-res", | ||
| 19 | "piolium/semgrep-res", | ||
| 20 | "piolium/real-env-evidence", | ||
| 21 | "piolium/raw", | ||
| 22 | "piolium/file-records", | ||
| 23 | "piolium/attack-surface/raw", | ||
| 24 | "piolium/authz-coverage-gaps.md", | ||
| 25 | "piolium/merged-results.sarif" | ||
| 26 | ], | ||
| 27 | "retained": [ | ||
| 28 | "piolium/attack-surface/", | ||
| 29 | "piolium/findings/", | ||
| 30 | "piolium/final-audit-report.md", | ||
| 31 | "piolium/confirmation-report.md", | ||
| 32 | "piolium/audit-state.json" | ||
| 33 | ] | ||
| 34 | } | ||
