Vikunja before 2.6.0 Denial of Service via Avatar Upload
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.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-91971
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 3 Nov 2026, 14:13 UTC · Revision 1
Source evidence
Vikunja before 2.6.0 Denial of Service via Avatar Upload
core-osv · Original sourcePublished 15 Sept 2026, 15:18 UTC
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.
osv:CVE-2026-91971
Complete source record
{
"id": "127f92ff1ff911939901cf252af01ae578c2797e9554c16213f616bad0682c8a",
"url": "https://osv.dev/vulnerability/CVE-2026-91971",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Vikunja before 2.6.0 Denial of Service via Avatar Upload",
"summary": "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.",
"evidence": "osv:CVE-2026-91971",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2026-91971",
"aliases": [
"CVE-2026-91971",
"GHSA-4vh2-39rq-rq8j",
"GO-2026-6717"
],
"metrics": [
{
"type": "CVSS_V4",
"score": "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"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/go-vikunja/vikunja",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "a4218eeb8fb3ada95e14a2331731524c9120d5bd"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"fixed": "2.6.0"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StandardRange"
},
{
"range": [
{
"introduced": "0"
},
{
"fixed": "2.6.0"
}
],
"source": "DESCRIPTION"
}
]
}
}
],
"versions": [
"v2.5.0",
"v2.4.0",
"v2.3.0",
"v2.2.2",
"v2.2.1",
"v2.2.0",
"v2.1.0",
"v2.0.0",
"v1.1.0",
"v1.0.0",
"v1.0.0-rc4",
"v1.0.0-rc3",
"v1.0.0-rc2",
"v1.0.0-rc1",
"v1.0.0-rc0",
"v0.24.1",
"v0.23.0",
"v0.22.1",
"v0.22.0",
"v0.21.0",
"v0.20.4",
"v0.20.3",
"v0.20.1",
"v0.20.0",
"v0.19.2",
"v0.19.1",
"v0.19.0",
"v0.18.1",
"v0.18.0",
"v0.17.0",
"v0.16.0",
"v0.15.0",
"v0.14.0",
"v0.13",
"v0.12",
"v0.11",
"v0.10",
"v0.9",
"v0.8",
"v0.7",
"v0.6",
"v0.5",
"v0.4",
"v0.3",
"v0.2",
"v0.1"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-91971.json"
}
}
],
"modified": "2026-10-28T02:30:29.287689921Z",
"provider": "osv",
"references": [
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/91xxx/CVE-2026-91971.json",
"https://github.com/go-vikunja/vikunja/security/advisories/GHSA-4vh2-39rq-rq8j",
"https://nvd.nist.gov/vuln/detail/CVE-2026-91971",
"https://www.vulncheck.com/advisories/vikunja-before-2.6.0-denial-of-service-via-avatar-upload"
],
"provider_metadata": {
"cwe_ids": [
"CWE-400"
],
"cna_assigner": "VulnCheck",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/91xxx/CVE-2026-91971.json"
}
},
"related_cves": [
{
"value": "CVE-2026-91971",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 496265,
"published_at": "2026-09-15T15:18:22.129+00:00"
}