Vikunja resource exhaustion in CSV migration endpoint

Severity: medium · CVSS 6.5 · Published 2026-09-15

Vikunja is a task management and migration system. An authenticated attacker can upload a specially crafted CSV file with millions of tiny rows that causes the API server to consume excessive memory and become unresponsive, denying service to all users. The attack requires valid user credentials but exploits no other vulnerabilities in the system itself.

Technologies: code.vikunja.io/api (Go), Vikunja API. Vendors: Go, Vikunja.

Quick answers

Is This vulnerability exploited in the wild?
No. Junglewise Threat Intelligence has no report of This vulnerability being exploited in the wild.
How severe is This vulnerability?
Medium severity, with a CVSS score of 6.5, published 15 September 2026.
Which products and versions are affected?
code.vikunja.io/api (Go) = 2.5.0; Vikunja API 2.5.0.
Is there a fix for This vulnerability?
Yes: fixed in 2.6.0. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is This vulnerability attacked?
It is attacked over the network, in a hosted service.
Am I affected?
Check whether you run code.vikunja.io/api (Go) or Vikunja API 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.6.0

Technical details

The POST /api/v2/migration/csv/migrate endpoint in Vikunja 2.5.0 reads all CSV rows into memory via csv.Reader.ReadAll() without enforcing a row count limit, then materializes a task object for each row. An authenticated attacker can upload a multipart CSV containing millions of single-cell records well below the configured byte limit, triggering memory exhaustion and process termination. The vulnerability is an uncontrolled resource consumption (CWE-400) requiring authentication over the network with low complexity.

Affected products

  • Vikunja API 2.5.0

Timeline

  • 2026-08-31: disclosed
  • 2026-09-15: advisory

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.