You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+45Lines changed: 45 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,50 @@
1
1
# Changelog
2
2
3
+
## Changes 06/16/2026 (v3.16.0)
4
+
5
+
`release(v3.16.0): security hardening`
6
+
7
+
**Commit message**
8
+
9
+
```text
10
+
release(v3.16.0): security hardening
11
+
12
+
- security(auth): require trusted proxy source validation for proxy-header login
13
+
- security(webdav): block password-only WebDAV login for TOTP-enabled accounts
14
+
- security(extract): apply blocked upload filename policy before archive extraction
15
+
- security(setup): keep first-run setup closed after initial admin creation
16
+
- security(auth): resolve remember-me admin status from the current user role
17
+
- security(upload): reject encoded path separators before upload writes
18
+
```
19
+
20
+
**Fixed**
21
+
22
+
-**Proxy-header login hardening**
23
+
- Proxy-header login now accepts the configured identity header only from sources listed in `FR_TRUSTED_PROXIES`.
24
+
- If you already use proxy-header login, set `FR_TRUSTED_PROXIES` to the reverse proxy IP or CIDR before upgrading; otherwise FileRise will ignore the identity header and users will not be auto-authenticated.
25
+
26
+
-**WebDAV MFA hardening**
27
+
- WebDAV no longer accepts password-only Basic authentication for accounts that have TOTP enabled.
28
+
- Users who need WebDAV access should use an account without TOTP until a separate app-password flow is available.
29
+
30
+
-**Archive extraction hardening**
31
+
- Archive extraction now applies the blocked upload filename policy before files are written to disk.
32
+
- Mixed archives can still extract allowed files while blocked file types are skipped and reported as warnings.
33
+
34
+
-**First-run setup hardening**
35
+
- FileRise now writes a setup-complete marker after initial admin creation and also creates it automatically for existing installs with users.
36
+
- If `users.txt` later becomes empty, first-run setup remains closed and requires out-of-band recovery.
37
+
38
+
-**Remember-me role hardening**
39
+
- Remember-me auto-login now resolves admin status from the current user record instead of trusting role data stored with the token.
40
+
- Rotated and newly issued remember-me tokens no longer store the admin flag.
41
+
42
+
-**Upload filename hardening**
43
+
- Upload handling now rejects encoded path separators before resolving the destination path.
44
+
- Normal filenames and allowed folder upload paths continue to work.
|`PGID`| Optional |`100`| If running as root, remap `www-data` group to this GID (e.g. Unraid’s 100). |
261
261
|`FR_PUBLISHED_URL`| Optional |`https://example.com/files`| Public URL when behind proxies/subpaths (share links, portals, redirects). |
262
262
|`FR_BASE_PATH`| Optional |`/files`| Force a subpath when the proxy strips the prefix (overrides auto-detect). |
263
-
|`FR_TRUSTED_PROXIES`| Optional |`127.0.0.1,10.0.0.0/8`| Comma-separated IPs/CIDRs for trusted proxies; only these can supply the client IP header. |
263
+
|`FR_TRUSTED_PROXIES`| Optional |`127.0.0.1,10.0.0.0/8`| Comma-separated IPs/CIDRs for trusted proxies; only these can supply the client IP header or proxy-auth identity header. |
264
264
|`FR_IP_HEADER`| Optional |`X-Forwarded-For`| Header to trust for the real client IP when the proxy is trusted. |
265
265
266
266
> Full list of common env variables: [Common Environment variables](https://github.com/error311/FileRise/wiki/Common-Env-Variables)
@@ -354,7 +354,7 @@ Notes:
354
354
- Persist `/var/www/metadata` so the generated persistent tokens key survives container recreation.
355
355
- Either set your own strong `PERSISTENT_TOKENS_KEY` or let a pristine install generate one and then back up `metadata/persistent_tokens.key`.
356
356
- Use HTTPS and set `SECURE="true"` when behind TLS/reverse proxy.
357
-
- If behind a proxy, set `FR_TRUSTED_PROXIES` and `FR_IP_HEADER`.
357
+
- If behind a proxy, set `FR_TRUSTED_PROXIES` and `FR_IP_HEADER`; proxy-header login also requires `FR_TRUSTED_PROXIES`.
358
358
- Set `FR_PUBLISHED_URL` (and `FR_BASE_PATH` if needed) so share links are correct.
359
359
- Block direct HTTP access to `/uploads` (serve only `public/` and deny access to `/uploads`, `/users`, `/metadata`).
Copy file name to clipboardExpand all lines: docs/wiki/oidc sso.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -80,3 +80,4 @@ Example:
80
80
## Proxy auth headers (advanced)
81
81
82
82
If your reverse proxy authenticates users, you can disable form login and trust a header (default `X-Remote-User`) via **Admin → Login options**.
83
+
Set `FR_TRUSTED_PROXIES` to the reverse proxy IP or CIDR before enabling this mode; FileRise only accepts the proxy-auth identity header from trusted proxy sources.
0 commit comments