v2.0.9-beta
vadimdemedes/inkv2.0.9-betaSep 25, 2026by gtsteffaniak
Upgrading?
AI Summary
A security-focused release fixing open redirects, SSRF gaps in OnlyOffice, SQLite locking issues, and hardening OIDC login.
Key Highlights
- Random initial password generation for default admin login
- OIDC login binds OAuth state to HttpOnly cookie
- Fixes SSRF gap in OnlyOffice document downloads
- Removes SQLite shared cache to prevent lock conflicts
- Webdav ignores user preference and always shows hidden files
Breaking Changes
- SQLite shared cache (`cache=shared`) removed
- Webdav behavior changed to always show hidden files
New Features
- Random initial password generation
- OIDC state binding to HttpOnly cookie
- SSRF validation for OnlyOffice
- SQLite busy_timeout configuration
- Open redirect rejection
Full Release Notes
## What's Changed **Security**: - Fresh install with default `admin`/`admin` startup generates a random initial password and logs it once (#2977). Updated documentation to follow. - OIDC login binds OAuth `state` to an HttpOnly cookie (crypto-random) and rejects tampered callbacks; post-login redirects must be same-app relative paths. - Login, logout, and session-expiry redirects reject open-redirect targets (`//`, `/\\`, off-site URLs); signup sends credentials in a JSON body instead of query parameters. **Notes**: - Webdav always shows hidden files, ignores user preference. (#3004) - SQLite shared cache (`cache=shared`) removed from the application database connection: its table-lock conflicts bypass `busy_timeout` and fail immediately. WAL mode already allows concurrent readers. **Bugfixes**: - Fixed intermittent blank page / blocked inline SPA script after CSP hardening (#2995) - ffmpeg unresponsive lock issue (#2996) - fixed token migration lockout regression from v2.0.8-beta (#2999) - Public shares with OnlyOffice disabled (`enableOnlyOffice=false`) now reject `/office/config` and `/office/callback` requests server-side instead of only hiding the editor in the UI - Session/API token registrations now record the JWT expiry; expired mappings are pruned at startup, and tokens expired beyond the same 2-minute grace window used for session rotation no longer resolve a user identity on public share routes - Startup now fails when the configured/env auth signing key differs from the key persisted in the application database, instead of warning and minting tokens with divergent keys - OnlyOffice document downloads now re-validate redirect targets against the configured document-server host, closing an SSRF gap where a redirect could send the fetch to an internal address - OnlyOffice "closed with changes" callbacks now keep the document key until the save succeeds, so a failed save can be retried by the document server instead of being rejected as an unknown session - External JWT (JwtAuth) requests now reuse an existing valid session cookie instead of minting and registering a new session token on every request - SQLite index and application databases configure `busy_timeout` on every pooled connection, and busy/locked detection now uses driver result codes; index batch writes and maintenance no longer report success when the DB stays busy, and index cache reads return busy errors instead of empty results so listing can fall back to the filesystem. **Full Changelog**: https://github.com/gtsteffaniak/filebrowser/compare/v2.0.8-beta...v2.0.9-beta
Related Repositories
openclaw/openclaw★ 392,729
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
nilbuild/developer-roadmap★ 370,105
Interactive roadmaps, guides and other educational content to help developers grow in their careers.
morluto/rea★ 361,425
Reverse engineer anything with agents, from app behavior down to native binaries.
anomalyco/opencode★ 219,918
The open source coding agent.
n8n-io/n8n★ 208,293
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.