Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconAuthenticate with low-privileged account
-
DeliveryCreate or select owned project
-
ExploitEnumerate sequential team IDs
-
InstallAttach unauthorized team via project teams endpoint
-
C2Server skips team access validation
-
ExecuteReceive full team roster with admin flags
-
ImpactTarget privileged accounts for follow-on attacks
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V14 - Data Protection Data exposure prevention
MITRE ATT&CK
2 techniques across 2 tactics: Collection, Discovery 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) and the ability to create or edit at least one project so that a team can be attached via the project teams endpoint - on default self-hosted deployments any normal user who can create a project satisfies this. No user interaction (UI:N) and no special feature flag or non-default configuration is documented as a prerequisite; the vulnerable endpoint is part of the standard project-sharing surface. Exploitation is limited in that it discloses only team metadata (team identity, member names, admin flags) and cannot modify data, escalate privileges directly, or read task contents; it also depends on numeric team IDs being guessable/sequential, as implied by the 'arbitrary team IDs' description. Deployments that have disabled user self-registration and issue accounts only to vetted staff reduce the pool of attackers who can meet the PR:L bar, but do not mitigate the flaw itself. |
| Impact | The supplied CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N, base 4.3) is internally consistent: a network-reachable API, no user interaction, but a required low-privileged account and confidentiality-only impact, with no integrity or availability loss. No EPSS probability, KEV entry, or POC indicator was included in the intake, so exploitation status can only be stated as 'no public exploit identified at time of analysis' - the enumeration technique is nonetheless fully automatable once an account exists, since team IDs are numeric and can simply be iterated. The high attack-vector/low-privilege combination is what makes a nominally 'low' score worth scheduling: the leaked data (member identities plus who is a team admin) is reconnaissance material for later phishing or privilege-escalation attempts rather than an immediate compromise. Note that EPSS, KEV and POC data are absent from this feed, so downstream risk scoring should not treat their absence as a negative finding. Given the modest blast radius, even a mid-sized municipal IT team in olsztyn would find the direct impact limited, but should still fold the upgrade into routine maintenance because the roster leak shortens an attacker's reconnaissance phase. Key data gap: no patch-availability confirmation beyond 'Available from vendor' and no independent PoC reproduction were supplied. |
| Exploit ScenarioDerived | An attacker registers or compromises a single ordinary Vikunja account, then iterates numeric team IDs against a project they own, attaching each candidate team in turn. Each request returns the resolved team object with its full member roster, including usernames and admin flags, for teams the attacker was never authorized to see. The harvested admin list becomes a target list for credential-stuffing or phishing against the highest-privileged accounts in the organization. |
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 team-level access validation when a team is attached to a project, letting any authenticated user enumerate teams they do not belong to through the project teams endpoint. An attacker with a low-privileged account can supply arbitrary team IDs and receive complete rosters - member names and administrative flags - for unauthorized teams. Impact is confidential-only (CVSS 4.3, CWE-200) and no public exploit code or KEV listing was provided with the source data.
RemediationAI
Vendor-released patch: Vikunja 2.6.0 - upgrade every API server instance to 2.6.0 or later, as stated in the GitHub advisory GHSA-39p5-2wrr-xh29 (https://github.com/go-vikunja/vikunja/security/advisories/GHSA-39p5-2wrr-xh29). Because the fix lands in the server, Docker users should pull the 2.6.0+ image and restart rather than only updating clients or the frontend bundle. If an immediate upgrade is not possible, the practical compensating control is to restrict who can create or modify projects and who can attach teams to them - temporarily limit project-creation and share-management permissions to a small trusted group, which removes the low-privileged foothold the attack needs, at the cost of blocking legitimate self-service sharing for ordinary users. An API gateway or reverse proxy rule that denies POST/PUT requests to project team-association paths from non-admin accounts offers equivalent protection, but such rules are brittle and will break legitimate sharing workflows whenever the route changes, so treat them as short-lived. After upgrading, rotate nothing at the credential level (no secrets are exposed) but do review audit logs for repeated sequential team-ID lookups, which would indicate prior enumeration, and remove any unexpected team associations created during the window of exposure.
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 task and project management application (CPE cpe:2.3:a:go-vikunja:vikunja) that models work as projects containing tasks, with teams used as shareable principals. Sharing a project with a team is implemented by attaching a team identifier to the project through the project-teams relationship endpoint. The defect is a missing authorization check on that relationship: the code verifies that the caller can modify the project but does not verify that the caller is a member or admin of the team being attached or queried. Because the endpoint echoes back the resolved team object, an attacker effectively gains a read primitive over every team row in the database, including its membership list and each member's admin flag. This is a classic CWE-200 exposure of sensitive information through an insecure direct object reference on a foreign-key relationship rather than on the object the user legitimately owns. The vulnerable class is API-level broken access control, and the fix in 2.6.0 scope is to enforce team membership/permission checks before the association is created or its roster returned.
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:L/VI:N/VA:N/SC:N/SI:N/SA:N
Network-reachable API but requires an authenticated low-privileged account (PR:L) and valid project edit rights; only confidentiality of team metadata is lost.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
vikunja before 2.6.0 fails to validate team access when attaching teams to projects, allowing authenticated users to enumerate all teams and members. Attackers can attach arbitrary team IDs via the project teams endpoint to retrieve complete team rosters including member names and admin flags for unauthorized teams.
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
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
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-78651
GHSA-2922-qgfj-pr7v
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB