# CVE-2026-123505: Vikunja insecure file permissions in local storage

Source: https://junglewise.ai/threats/cve-2026-123505-vikunja-before-2-7-1-contains-an-insecure-file-permissions  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-11-08. Updated: 2026-11-08  
License: CC BY 4.0 with a link back

CVE-2026-123505 · Severity: medium · CVSS 5.5 · Published 2026-11-08

Vikunja is a task and project management application that stores sensitive user data including attachments, exports, and a SQLite database with password hashes. On shared hosting systems where multiple users have local system access, this vulnerability allows any local user to read all stored files and database contents, potentially enabling offline password cracking and data theft.

Technologies: [Vikunja](https://junglewise.ai/threats/technologies/vikunja). Vendors: [Vikunja](https://junglewise.ai/threats/vendors/vikunja).

## Quick answers

**Is CVE-2026-123505 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-123505 being exploited in the wild.

**How severe is CVE-2026-123505?** Medium severity, with a CVSS score of 5.5, published 8 November 2026.

**Which products and versions are affected?** Vikunja before 2.7.1.

**Is there a fix for CVE-2026-123505?** Yes: fixed in 2.7.1. Until then: Set UMask=0077 in the vikunja.service systemd unit to restrict file permissions for new files and the SQLite database, and run a one-off chmod command to fix permissions on existing files and directories in the storage path. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-123505 attacked?** It is attacked with local access, in a software library.

**Am I affected by CVE-2026-123505?** Check whether you run Vikunja at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- Fixed in 2.7.1

Set UMask=0077 in the vikunja.service systemd unit to restrict file permissions for new files and the SQLite database, and run a one-off chmod command to fix permissions on existing files and directories in the storage path.

## Technical details

The localStorage.Write function creates files with world-readable permissions (0644) by using os.Create with a standard umask, allowing any local user on the system to read attachments, project backgrounds, exports, and the SQLite database file. The vulnerability affects Vikunja versions up to 2.7.0 and is exploitable only by local users with filesystem access on shared hosts; the fix involves explicitly setting file permissions to 0600 and storage directory permissions to 0700, along with setting UMask=0077 in the systemd service configuration.

## Affected products

- Vikunja Vikunja before 2.7.1

## Timeline

- 2026-10-22: disclosed
- 2026-11-08: advisory

## References

- [https://github.com/go-vikunja/vikunja/security/advisories/GHSA-9rfw-7hv4-3vv3](https://github.com/go-vikunja/vikunja/security/advisories/GHSA-9rfw-7hv4-3vv3)
- [https://www.vulncheck.com/advisories/vikunja-before-2.7.1-world-readable-local-file-storage-and-sqlite-database](https://www.vulncheck.com/advisories/vikunja-before-2.7.1-world-readable-local-file-storage-and-sqlite-database)

## Related threats

- [Vikunja denial of service via pagination bypass in API v1](https://junglewise.ai/threats/cve-2026-123531-vikunja-from-1-0-0-before-2-7-1-contains-an-uncontrolled)
- [Vikunja missing authentication in TOTP enrollment](https://junglewise.ai/threats/cve-2026-123530-vikunja-before-2-7-1-contains-a-missing-authentication)
- [Vikunja stored CSS injection in rich-text table cells](https://junglewise.ai/threats/cve-2026-123529-vikunja-before-2-7-1-contains-a-stored-css-injection)
- [Vikunja insufficient session expiration in HTTP token middleware](https://junglewise.ai/threats/cve-2026-123528-vikunja-before-2-7-1-contains-an-insufficient-session-expiration)
- [Vikunja API token authorization bypass in v1/v2 collision](https://junglewise.ai/threats/cve-2026-123527-vikunja-from-2-4-0-before-2-7-1-contains-an-authorization-bypass)
