Skip to content

fix(server): random default password, mail upload limit, non-root images, token file mode, pinned release action - #1847

Merged
fclairamb merged 24 commits into
mainfrom
security/scan-specs-2026-10-30
Oct 30, 2026
Merged

fclairamb merged 24 commits into
mainfrom
security/scan-specs-2026-10-30

Conversation

@fclairamb

@fclairamb fclairamb commented Oct 30, 2026 •

Copy link
Copy Markdown
Owner

Fixes for the Medium and Low findings of the weekly security scan, each delivered from its spec (now in specs/done/2026/10/).

Spec Severity Finding What changed
01 no default test credentials Medium M1 The auto-created config gets a random 20-char password, stored bcrypt-hashed, logged once at first start (no more test/test). Docs and docker test workflow updated
02 mail upload size limit Medium M2 The mail backend refuses uploads above MaxSize (default 25 MiB) instead of buffering without limit
03 docker non-root user Low L1 Both images run as uid 65532; README documents --user and mount ownership
04 gdrive token file permissions Low L2 The OAuth token file is written (and forced to) mode 0600
05 pin release action Low L3 go-release-action, release-please-action and the semantic-PR action pinned by SHA; Renovate pins digests

Also: merged main; PR title scope fixed (security is not an allowed scope).

Breaking changes (changelog note for the release): a fresh start without -conf no longer accepts test/test; host mounts owned by another uid must be writable by 65532 or use --user.

Decided by autopilot

  • Spec 01, keep a fixed documented password or generate one: generate a random one (recommended).
  • Spec 01, store the generated password hashed: yes, bcrypt (recommended).
  • Spec 03, breaking change for host mounts owned by another uid: acceptable, with changelog note and --user documented (recommended).

Notes: spec 02's go mod tidy added testify and shrank go.sum (~1200 lines); worth a look in review.

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@fclairamb fclairamb changed the title fix(security): random default password, mail upload limit, non-root images, token file mode, pinned release action fix(server): random default password, mail upload limit, non-root images, token file mode, pinned release action Oct 30, 2026
fclairamb and others added 22 commits October 30, 2026 06:36
…ead of test/test

The config file created when the server starts without -conf no longer declares
a test/test account. Its test user gets a random 20-character password, logged
once at Warn level when the file is created and stored bcrypt-hashed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ing test/test

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Breaking for host mounts owned by another uid: chown them to 65532 or use --user.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…est pinning

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@fclairamb
fclairamb merged commit 60645ff into main Oct 30, 2026
11 checks passed
@fclairamb
fclairamb deleted the security/scan-specs-2026-10-30 branch October 30, 2026 06:06
fclairamb added a commit that referenced this pull request Oct 30, 2026
🤖 I have created a release *beep* *boop*
---


##
[0.16.5](v0.16.4...v0.16.5)
(2026-10-30)


### Bug Fixes

* always check keycloak credentials, even on shared accesses
([#1848](#1848))
([9a24e42](9a24e42))
* **deps:** update github.com/fclairamb/ftpserverlib to v0.32.6
([#1850](#1850))
([ec4f71b](ec4f71b))
* **server:** nil passive port range crashes passive transfers
([#1845](#1845))
([b7dbc33](b7dbc33))
* **server:** random default password, mail upload limit, non-root
images, token file mode, pinned release action
([#1847](#1847))
([60645ff](60645ff))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Florent Clairambault <florent.clairambault@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant