CVE-2026-91969: Vikunja: Unbounded CSV row cardinality permits API process termination
The authenticated v2 CSV migration route caps upload bytes but not parsed row cardinality. It reads every record into a [][]string and then materializes a full task object for every row before insertion. Two million one-cell rows fit in a roughly 4 MB multipart request yet exhaust a 512 MiB API process.
References
- github.com/advisories/GHSA-pqf9-h8g4-8gmh
- github.com/go-vikunja/vikunja/pull/3688
- github.com/go-vikunja/vikunja/releases/tag/v2.6.0
- github.com/go-vikunja/vikunja/security/advisories/GHSA-pqf9-h8g4-8gmh
- nvd.nist.gov/vuln/detail/CVE-2026-91969
- www.vulncheck.com/advisories/vikunja-before-2.6.0-resource-exhaustion-via-csv-migration
Code Behaviors & Features
Detect and mitigate CVE-2026-91969 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →