CVE-2026-33474
Received Received - Intake
Unbounded Image Processing in Vikunja Causes Resource Exhaustion

Publication date: 2026-03-24

Last updated on: 2026-03-27

Assigner: GitHub, Inc.

Description
Vikunja is an open-source self-hosted task management platform. Starting in version 1.0.0-rc0 and prior to version 2.2.0, unbounded image decoding and resizing during preview generation lets an attacker exhaust CPU and memory with highly compressed but extremely large-dimension images. Version 2.2.0 patches the issue.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-03-24
Last Modified
2026-03-27
Generated
2026-05-27
AI Q&A
2026-03-24
EPSS Evaluated
2026-05-25
NVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
vikunja vikunja From 1.0.0 (inc) to 2.2.0 (exc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-400 The product does not properly control the allocation and maintenance of a limited resource.
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

CVE-2026-33474 is a Denial of Service (DoS) vulnerability in the Vikunja task management platform affecting versions from 1.0.0-rc0 up to but not including 2.2.0.

The vulnerability occurs during the preview generation of task attachment images, where the system decodes and resizes images without enforcing limits on image dimensions or total pixel count.

An attacker can exploit this by uploading highly compressed images with extremely large dimensions, causing the server to consume excessive CPU and memory resources during the decoding and resizing process.

This resource exhaustion can degrade service performance or cause crashes, leading to denial of service.


How can this vulnerability impact me? :

[{'type': 'paragraph', 'content': "This vulnerability can impact you by allowing an attacker with authenticated write access to tasks to exhaust your server's CPU and memory resources."}, {'type': 'paragraph', 'content': 'The initial preview generation of large-dimension images consumes significant resources, which can degrade the performance of the Vikunja service or cause it to crash.'}, {'type': 'paragraph', 'content': 'If multiple large images are uploaded or multiple preview requests are made concurrently, the server may become unresponsive, resulting in denial of service for legitimate users.'}] [1]


How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:

I don't know


How can this vulnerability be detected on my network or system? Can you suggest some commands?

[{'type': 'paragraph', 'content': 'This vulnerability can be detected by monitoring the resource usage of the Vikunja API server, especially during preview generation of task attachments. High CPU and memory consumption triggered by image preview requests may indicate exploitation attempts.'}, {'type': 'paragraph', 'content': 'A proof of concept uses a bash script combined with Python (using Pillow) to generate a large 10,000Γ—10,000 PNG image and upload it as a task attachment, then requests an "xl" size preview to observe resource exhaustion.'}, {'type': 'paragraph', 'content': 'To detect the vulnerability on your system, you can monitor the process resource usage with commands like:'}, {'type': 'list_item', 'content': 'Use `/usr/bin/time -l` to measure time and memory usage of preview generation requests.'}, {'type': 'list_item', 'content': 'Monitor CPU and memory usage of the Vikunja API process with `top`, `htop`, or `ps aux --sort=-%mem`.'}, {'type': 'list_item', 'content': 'Check logs or metrics for unusually high latency or resource consumption during image preview generation.'}, {'type': 'paragraph', 'content': 'Additionally, you can attempt to reproduce the issue by uploading large-dimension images (e.g., 10,000Γ—10,000 PNG) and observing the system behavior.'}] [1]


What immediate steps should I take to mitigate this vulnerability?

Immediate mitigation steps include:

  • Upgrade Vikunja to version 2.2.0 or later, where the vulnerability is patched.
  • Enforce strict bounds on image dimensions and total pixels before decoding images for preview generation, for example rejecting images exceeding 8000Γ—8000 pixels or 20 million total pixels.
  • Implement early failure by reading image headers to extract dimensions without fully decoding the image.
  • Apply per-user and per-attachment rate limiting on preview generation requests to prevent resource exhaustion.
  • Consider pre-generating previews asynchronously with throttling and backpressure mechanisms.
  • Maintain caching of previews but configure cache eviction policies to avoid repeated heavy processing.

Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart