Skip to main content

Vikunja CVE-2026-91971

| EUVDEUVD-2026-78647 HIGH
Uncontrolled Resource Consumption (CWE-400)
7.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Obtain or register low-privileged account
  2. Delivery
    Upload crafted extreme-aspect-ratio image
  3. Exploit
    Target avatar or project-background endpoint
  4. Install
    Image decoder allocates excessive pixels
  5. C2
    CPU and memory exhaustion on server
  6. Execute
    Repeat uploads concurrently
  7. Impact
    Vikunja 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
1 PoC candidate (unverified) Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

vikunja 0 <2.6.0

Affected Packages

go code.vikunja.io/api fix: 2.6.0
euvd vikunja fix: 2.6.0

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

Vendor (VulnCheck) PRIMARY 7.1 HIGH
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
vuln.today AI 6.5 MEDIUM

Authenticated network upload with low complexity and no user interaction; decoder amplification damages only availability, so C/I are None.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Sep 15, 2026 - 16:03 EUVD
CVE Published
Sep 15, 2026 - 15:18 cve.org
HIGH 7.1

DescriptionCVE.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

EPSS Score
0.3%
Top 73% exploitable
Prevalence
Low
niche self-hosted open-source task manager, limited enterprise footprint
Threat Intel
1
1 source
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC Yes
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
Poc
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

56
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

CVE-2026-68582 CRITICAL POC
9.3 Aug 02

Cross-tenant information disclosure in the self-hosted task manager Vikunja (0.24.0 through 2.3.0) lets a holder of any

CVE-2026-27575 CRITICAL POC
9.1 Feb 25

Weak password policy in Vikunja task management before 2.0.0 allows users to set trivially guessable passwords. PoC avai

CVE-2026-68581 HIGH POC
8.6 Aug 02

Principal type confusion in Vikunja (versions 0.22.0-2.3.0) allows an authenticated low-privilege attacker to fully cont

CVE-2026-27616 HIGH POC
7.3 Feb 25

Stored cross-site scripting (XSS) in Vikunja prior to version 2.0.0 allows authenticated attackers to steal authenticati

CVE-2026-27819 HIGH POC
7.2 Feb 25

Vikunja before version 2.0.0 contains a path traversal vulnerability in its backup restoration function that fails to va

CVE-2026-27116 MEDIUM POC
6.1 Feb 25

Vikunja is an open-source self-hosted task management platform. [CVSS 6.1 MEDIUM]

CVE-2026-28268 CRITICAL
9.8 Feb 27

Business logic vulnerability in Vikunja task management platform before 2.1.0 allows incomplete resource cleanup, potent

CVE-2026-56765 CRITICAL
9.3 Jul 10

Instance-wide data breach in Vikunja before 2.2.1 lets remote attackers exfiltrate and destroy every file attachment acr

CVE-2026-34727 CRITICAL
9.1 Apr 10

Vikunja's OIDC callback handler issues a full JWT to any successfully matched user without checking whether that account

CVE-2026-91973 HIGH POC
8.7 Sep 15

Vikunja instances before 2.6.0 expose CalDAV BasicAuth endpoints (/dav, /.well-known, and /feeds) that are not covered b

CVE-2026-91972 HIGH POC
8.7 Sep 15

Vikunja versions before 2.6.0 ship authentication endpoints under /api/v2 (login, register, password-reset, and OAuth to

CVE-2026-91985 HIGH POC
8.7 Sep 15

Vikunja prior to 2.6.0 leaks the secret hash that backs a project's link shares through its single-share read endpoint,

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy