Report privately via a GitHub security advisory. Do not open a public issue. Expect an initial response within a few days.
Only the latest release receives fixes.
- Set
SEPTIC_SECRETin production. Sessions are HMAC-signed with it; without it a random secret is generated per process, so sessions drop on restart and cannot be shared across workers. auth.seedis a dev convenience. Never ship a known seed password to production — seed once, then rotate.- Uploads keep their extension and are served back unfiltered. A stored file
gets a random name but the original suffix, and there is no MIME allowlist —
so an
.htmlor.svgaccepted by a resource with public write access is returned as active content from whatever origin servesmedia.url. Gatefile/imagewrites by role, or servemedia.urlfrom a host that is not your site's. - Access defaults deny writes: a resource with no
access.writerequires theadminrole.