Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconObtain or register low-privileged account
-
DeliveryUpload crafted extreme-aspect-ratio image
-
ExploitTarget avatar or project-background endpoint
-
InstallImage decoder allocates excessive pixels
-
C2CPU and memory exhaustion on server
-
ExecuteRepeat uploads concurrently
-
ImpactVikunja unavailable to legitimate users
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource consumption limits
MITRE ATT&CK
1 technique across 1 tactic: Impact The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires a valid authenticated Vikunja account (CVSS PR:L) with access to either the user avatar upload endpoint or a project background image upload endpoint; on a project, the attacker needs write access to that project to set its background, while avatar upload is available to the account owner. The vulnerable code path is only reached on Vikunja releases before 2.6.0, and the attack succeeds only against uploads that the application actually decodes - i.e. image files accepted as valid avatars/backgrounds rather than rejected outright by type validation. Sustained denial of service generally requires repeated or concurrent uploads to keep resource usage elevated; a single small image is unlikely to take a large instance offline. Practical limits: no confidentiality or integrity impact is achieved, exploitation is ineffective if self-registration is disabled and accounts are not otherwise obtainable, and per-IP rate limiting, upload size restrictions or container resource limits on the reverse proxy raise the number of requests needed and reduce impact. |
| Impact | The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H) describes a network-reachable, low-complexity, automatable availability attack that requires only a low-privileged authenticated account and no user interaction, and the impact is confined to availability - confidentiality and integrity across both vulnerable and subsequent systems are rated None. That profile is consistent with a reliable, low-skill DoS rather than a data-compromise issue. No CISA KEV listing and no reported POC were supplied, so exploitation is not confirmed in the wild; EPSS data was not provided, which limits the ability to quantify likelihood and should be verified separately. The main uncertainty is operational rather than technical: because the exploit depends on an attacker holding a valid account (and on self-registration being open or credentials being obtainable), the realistic risk scales with how freely accounts can be created and how aggressively upload rate limiting is configured - a defender on a closed instance with throttling has materially lower exposure than one with open registration. |
| Exploit ScenarioDerived | An attacker registers or obtains a low-privileged Vikunja account, then uploads a small crafted image with an extreme aspect ratio to the avatar or project-background endpoint; the server decodes it into an enormous pixel buffer, spiking CPU and memory. By scripting repeated or concurrent uploads - no user interaction or elevated privilege required - the attacker holds the instance in a resource-saturated state and makes Vikunja unresponsive for legitimate users. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 15, 2026
Vikunja versions before 2.6.0 omit pixel-count decode limits on avatar and project-background image upload endpoints, so an authenticated user can upload tiny files whose decoded dimensions are enormous and drive unbounded CPU and memory consumption during image processing. Repeated or concurrent uploads can exhaust server resources and deny service to all users of the instance. The flaw is rated CVSS 7.1 with high availability impact only, no public exploit code has been identified at time of analysis, and a vendor fix is available in 2.6.0.
RemediationAI
Upgrade to Vikunja 2.6.0 or later, which introduces the missing pixel decode limits on the avatar and project-background upload paths; this is the only complete fix and is available per the vendor advisory (https://github.com/go-vikunja/vikunja/security/advisories/GHSA-4vh2-39rq-rq8j) and the VulnCheck advisory. Where immediate upgrade is not possible, the most effective compensating control is to close the account-creation path that gives an attacker the required authenticated foothold - disable open self-registration and disable or restrict guest/demo accounts - accepting that this breaks self-service onboarding for legitimate users. Additionally, rate-limit and concurrency-cap the upload endpoints at the reverse proxy (for example limit request body size and per-IP request rate on /api/v1/user/avatar and project background routes) and cap container memory/CPU with cgroup limits so a decode storm degrades gracefully rather than taking the instance offline; note that these are partial mitigations only, since they slow rather than prevent resource exhaustion by a determined authenticated user. Running Vikunja with restricted file/avatar upload permissions for untrusted roles is a further trade-off that reduces the attack surface at the cost of functionality.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in go, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Vikunja is a self-hosted, Go-based open-source task and project management application (vendor namespace go-vikunja), and the affected component covers all releases tracked by cpe:2.3:a:go-vikunja:vikunja:*:*:*:*:*:*:*:* below 2.6.0. The root cause is CWE-400, Uncontrolled Resource Consumption: the avatar and project-background upload handlers decode user-supplied images without enforcing a maximum decoded pixel count, so an attacker can supply a highly compressed image with extreme aspect ratio (the classic decompression-bomb pattern) that expands into an outsized pixel buffer during decoding. Because the cost is incurred at decode/re-encode time rather than at transfer time, small payloads translate into disproportionate server-side CPU and memory usage, and the absence of any pixel budget means no per-request ceiling exists to break the amplification loop.
Know when Vikunja gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Authenticated network upload with low complexity and no user interaction; decoder amplification damages only availability, so C/I are None.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
Vikunja before 2.6.0 fails to apply pixel decode limits to avatar and project-background upload endpoints, allowing authenticated users to upload crafted images that decode to excessive pixel counts. Attackers can upload small images with extreme aspect ratios that consume significant CPU and memory during processing, causing denial of service through repeated or concurrent uploads.
Technical POC Analysis
CWE-400 (Uncontrolled Resource Consumption) in the Vikunja API module (code.vikunja.io/api), specifically the two image-upload paths that lack the decode guard present elsewhere.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Latest POC
1 PoC candidate from github (unverified)
Sign in to open the public PoC links collected for this CVE.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Cross-tenant information disclosure in the self-hosted task manager Vikunja (0.24.0 through 2.3.0) lets a holder of any
Weak password policy in Vikunja task management before 2.0.0 allows users to set trivially guessable passwords. PoC avai
Principal type confusion in Vikunja (versions 0.22.0-2.3.0) allows an authenticated low-privilege attacker to fully cont
Stored cross-site scripting (XSS) in Vikunja prior to version 2.0.0 allows authenticated attackers to steal authenticati
Vikunja before version 2.0.0 contains a path traversal vulnerability in its backup restoration function that fails to va
Vikunja is an open-source self-hosted task management platform. [CVSS 6.1 MEDIUM]
Business logic vulnerability in Vikunja task management platform before 2.1.0 allows incomplete resource cleanup, potent
Instance-wide data breach in Vikunja before 2.2.1 lets remote attackers exfiltrate and destroy every file attachment acr
Vikunja's OIDC callback handler issues a full JWT to any successfully matched user without checking whether that account
Vikunja instances before 2.6.0 expose CalDAV BasicAuth endpoints (/dav, /.well-known, and /feeds) that are not covered b
Vikunja versions before 2.6.0 ship authentication endpoints under /api/v2 (login, register, password-reset, and OAuth to
Vikunja prior to 2.6.0 leaks the secret hash that backs a project's link shares through its single-share read endpoint,
EUVD-2026-78647
GHSA-4vh2-39rq-rq8j
NVD
CVE.org
EPSS
Exploit-DB