Skip to content

Resolve findings from the security hardening audit - #20

Open
jakejackson1 wants to merge 1 commit into
mainfrom
hardening
Open

Resolve findings from the security hardening audit#20
jakejackson1 wants to merge 1 commit into
mainfrom
hardening

Conversation

@jakejackson1

@jakejackson1 jakejackson1 commented Aug 4, 2026

Copy link
Copy Markdown
Member

The 4.0.0 security hardening release, with the findings from a follow-up audit of the work folded in.

Storage writes each upload to a staged file and moves it into place rather than writing to the destination directly, applies a default extension deny-list, and refuses traversal, dotfiles, control characters and symlinked destinations. Validation\FileType pairs an extension with the media type sniffed from the contents. Filenames and extensions are sanitized, stored files get mode 0640, and upload() now requires something to validate against.

Two things to know before merging:

  • Defaults changed and can reject uploads 3.x accepted. UPGRADE.md is the step-by-step guide.
  • The deny-list can refuse names you'd consider ordinary. It matches a blocked word anywhere between dots, so release.config.zip is refused. UPGRADE.md has the snippet to narrow the list.

Full detail in CHANGELOG.md, UPGRADE.md and the README.

@jakejackson1
jakejackson1 force-pushed the hardening branch 3 times, most recently from 62b1456 to f5307d5 Compare August 4, 2026 01:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant