Cyber Resilience

CVE-2026-33679

SSRF in Vikunja ≤ 2.2.1

Public PoCSSRF
Published
24 March 2026
Modified
30 March 2026
Patch / advisory
CVSS Score v3.1 6.4
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:L
EPSS Score 0.0040 33th percentile
Risk Priority 47 floored blend · peak EPSS

Summary

CVE-2026-33679 is a medium-severity SSRF (CWE-918) vulnerability in Vikunja Vikunja. Its CVSS base score is 6.4 (Medium).

Operationally, exploitation aligns with the MITRE ATT&CK technique Exploit Public-Facing Application (T1190); ranked at the 33th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.

The strongest mitigations our analysis identified map to AC-4 (Information Flow Enforcement) and SI-10 (Information Input Validation) — see the control section below for these in your framework.

Deeper analysis AI-assisted summary

Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.

CVE-2026-33679 is a Server-Side Request Forgery (SSRF) vulnerability (CWE-918) in Vikunja, an open-source self-hosted task management platform. The issue affects versions prior to 2.2.1 and resides in the `DownloadImage` function within `pkg/utils/avatar.go`. This function employs a bare `http.Client{}` lacking SSRF protections when fetching user avatar images from OpenID Connect `picture` claim URLs, enabling unintended outbound requests.

An authenticated attacker with low privileges (PR:L) can exploit this by controlling their OIDC profile picture URL, tricking the Vikunja server into issuing HTTP GET requests to arbitrary internal or cloud metadata endpoints. This circumvents SSRF mitigations properly implemented in the webhook system. Per the CVSS v3.1 score of 6.4 (AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:L), exploitation occurs over the network with low complexity, no user interaction, and changed scope, yielding low confidentiality impact alongside negligible integrity and availability effects.

Vikunja version 2.2.1 resolves the vulnerability by adding appropriate SSRF protections to the avatar download process, as detailed in the patch commit (363aa6642352b08fc8bc6aaff2f3a550393af1cf). The GitHub security advisory (GHSA-g9xj-752q-xh63) and changelog for v2.2.2 confirm the fix and recommend upgrading immediately.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

Vikunja is an open-source self-hosted task management platform. Prior to version 2.2.1, the `DownloadImage` function in `pkg/utils/avatar.go` uses a bare `http.Client{}` with no SSRF protection when downloading user avatar images from the OpenID Connect `picture` claim URL. An attacker who…

more

controls their OIDC profile picture URL can force the Vikunja server to make HTTP GET requests to arbitrary internal or cloud metadata endpoints. This bypasses the SSRF protections that are correctly applied to the webhook system. Version 2.2.1 patches the issue.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1190 Exploit Public-Facing Application Initial Access
Adversaries may attempt to exploit a weakness in an Internet-facing host or system to initially access a network.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2026-33675Same product: Vikunja Vikunja
CVE-2026-33678Same product: Vikunja Vikunja
CVE-2026-33700Same product: Vikunja Vikunja
CVE-2026-33313Same product: Vikunja Vikunja
CVE-2026-35601Same product: Vikunja Vikunja
CVE-2026-27819Same product: Vikunja Vikunja
CVE-2026-29794Same product: Vikunja Vikunja
CVE-2026-33315Same product: Vikunja Vikunja
CVE-2026-27116Same product: Vikunja Vikunja
CVE-2026-35598Same product: Vikunja Vikunja

Affected Assets

vikunja
vikunja
≤ 2.2.1

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

Detect
Catch it (NIST detect / respond)

Harden
Shrink the surface (DISA STIG)

Validate
Prove the fix (OWASP ASVS)
  • V1.3.6
  • V1.5.3
  • V5.3.2
  • V10.4.7

Mitigating Controls (NIST 800-53 r5) AI

Information flow enforcement can restrict which destinations the server is allowed to contact on behalf of users.

Input validation directly stops untrusted URLs from being accepted and fetched without destination checks.

Boundary protection limits the network reach of server-initiated requests even if SSRF occurs.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.PS-06 mostly match
prevents

Secure development practices directly include input validation and destination allow-listing that prevent SSRF.

DE.CM-09 partial match
prevents

Runtime monitoring of web applications and services can detect anomalous outbound requests indicative of SSRF.

ID.RA-01 partial match
prevents

Vulnerability identification processes can discover and record SSRF flaws in web applications.

PR.IR-01 partial match
prevents

Network segmentation and egress controls can limit the damage from successful SSRF requests.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

prevents

Operational threat data describing SSRF campaigns can be used to tighten outbound-request allow-lists and detection rules before attackers exploit them.

References