This release includes 3 security fixes for security teams reviewing exposed deployments.
Topics
+4 more
Affected surfaces
ReleasePort's take
Moderate signalThe release closes a proxy‑auth token bypass and hardens mail keystroke injection; it also enforces owner‑only permissions on state files and fixes spawn parsing.
Why it matters: These security fixes (proxy‑auth bypass, mail injection) have high severity scores (>70); adopt v0.10.0 immediately to protect authentication flows and input handling.
Summary
AI summaryProxy-auth token bypass closed, mail keystroke injection hardened, state files made owner‑only, and spawn parsing fixed.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Security | Critical |
Proxy-auth token bypass closed; loopback requests now check Host authority. Proxy-auth token bypass closed; loopback requests now check Host authority. Source: llm_adapter@2026-07-15 Confidence: high |
— |
| Security | High |
Mail-to-pane keystroke injection hardened by stripping bracketed-paste markers and control bytes. Mail-to-pane keystroke injection hardened by stripping bracketed-paste markers and control bytes. Source: llm_adapter@2026-07-15 Confidence: high |
— |
| Security | High |
State files (`fleetd.db`, WAL, SHM) set to owner‑only permissions (0600); `FLEETDECK_HOME` set to 0700. State files (`fleetd.db`, WAL, SHM) set to owner‑only permissions (0600); `FLEETDECK_HOME` set to 0700. Source: llm_adapter@2026-07-15 Confidence: high |
— |
| Security | High |
Spawn prompts are no longer parsed as `claude` flags; supervisor pidfile verified by process identity; `service.env` values validated. Spawn prompts are no longer parsed as `claude` flags; supervisor pidfile verified by process identity; `service.env` values validated. Source: llm_adapter@2026-07-15 Confidence: high |
— |
| Deprecation | Low |
Removed legacy `/plain` board and `board.html`, reducing npm package size by −22 KB; dead exports also dropped. Removed legacy `/plain` board and `board.html`, reducing npm package size by −22 KB; dead exports also dropped. Source: llm_adapter@2026-07-15 Confidence: high |
— |
| Bugfix | Medium |
Worktree removal no longer races with revive; `/clear` succession cannot mis‑assign an heir. Worktree removal no longer races with revive; `/clear` succession cannot mis‑assign an heir. Source: llm_adapter@2026-07-15 Confidence: high |
— |
| Bugfix | Medium |
Mail/rc prevents auto‑submission into a pane that becomes busy mid‑delivery. Mail/rc prevents auto‑submission into a pane that becomes busy mid‑delivery. Source: llm_adapter@2026-07-15 Confidence: high |
— |
| Bugfix | Medium |
Board answer‑hotkeys are suppressed when a modal is active. Board answer‑hotkeys are suppressed when a modal is active. Source: llm_adapter@2026-07-15 Confidence: high |
— |
| Bugfix | Medium |
Enforced true 50‑file paste cap. Enforced true 50‑file paste cap. Source: llm_adapter@2026-07-15 Confidence: high |
— |
| Refactor | Low |
Dropped redundant per‑session `mail_pending` field from `/state`; top‑level `mail_pending` map and `mail_meta` remain. Dropped redundant per‑session `mail_pending` field from `/state`; top‑level `mail_pending` map and `mail_meta` remain. Source: llm_adapter@2026-07-15 Confidence: high |
— |
Full changelog
A full security / reliability / quality audit of the daemon and board — findings fixed and pinned by regression tests, each fix cross-reviewed. Suite 484/484 (and under FLEETDECK_TEST_WAIT_SCALE=3).
Security
- Proxy-auth token bypass closed — a loopback request through a trusted reverse proxy with no
Originand no token could be auto-authorized (includingPOST /api/spawn) under the defaultFLEETDECK_PROXY_AUTH=token. The loopback exemption now also consults theHostauthority; local hooks andtrustmode are unaffected. - Mail-to-pane keystroke injection hardened — owned-pane paste strips bracketed-paste markers and control bytes.
- State files owner-only —
fleetd.db/WAL/SHM →0600,FLEETDECK_HOME→0700. - Spawn prompts never parsed as
claudeflags (passed after a--terminator); supervisor pidfile verified by process identity;service.envvalues validated.
Correctness
- Worktree removal no longer races a revive;
/clearsuccession can't mis-assign an heir; mail//rcdon't auto-submit into a pane that went busy mid-delivery; board answer-hotkeys are suppressed under a modal; a true 50-file paste cap.
Cleanup
- Removed the legacy
/plainboard +board.html(−22 KB from the npm package) and dead exports; internal dedups (config.mjs,exec.mjs); the redundant per-sessionmail_pendingwas dropped from/state(the top-levelmail_pendingmap andmail_metaremain).
Full changelog: https://github.com/lacion/fleet-deck/blob/main/CHANGELOG.md
Security Fixes
- Proxy-auth token bypass closed — loopback requests now also check Host authority when FLEETDECK_PROXY_AUTH=token
- Mail-to-pane keystroke injection hardened — owned‑pane paste strips bracketed‑paste markers and control bytes
- State files (fleetd.db, WAL, SHM) set to 0600; FLEETDECK_HOME set to 0700 for owner‑only access
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About Fleet Deck
All releases →Related context
Related tools
Beta — feedback welcome: [email protected]