Skip to main content

Vikunja CVE-2026-111919

| EUVDEUVD-2026-103287 HIGH
Insufficient Session Expiration (CWE-613)
2026-10-17 VulnCheck GHSA-276j-w3vx-r5jh
7.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Gain collaborator access to project
  2. Delivery
    Create webhook pointing to attacker endpoint
  3. Exploit
    Access revoked via project-user removal or downgrade
  4. Execution
    Webhook survives all revocation paths
  5. Impact
    Continuously receive task titles and descriptions post-revocation

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V7 - Session Management Session expiration enforcement
Exploitation Conditions

Exploitation requires the attacker to have previously been an authenticated collaborator on a Vikunja project (version 0.22.0 through 2.6.0) and to have created a webhook on that project while access was still valid. The webhook (and link-share) rows are not deleted by the revocation-cleanup routine, which is wired only to the TeamMember.Delete path; access revoked via direct project-user removal (ProjectUser.Delete), permission downgrade (ProjectUser.Update), or team-project removal (TeamProject.Delete) leaves the live feed intact. Limiting factors: the attacker must have had prior legitimate access, must have set up a webhook beforehand, and the impact is read-only disclosure of task titles/descriptions via the attacker-controlled webhook endpoint - there is no path to modify or destroy data.

Impact

This is a genuine but moderate-priority confidentiality issue, not an overstated high-CVSS finding. The vendor CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:H) correctly captures a network-reachable, low-complexity flaw whose impact is confidentiality-only (VC:H, VI:N, VA:N), and the PR:L metric accurately reflects that the attacker must have been a legitimately authenticated collaborator who created a webhook before losing access - this is not an anonymous internet-wide exploit. The GHSA advisory describes a working PoC reproduction harness (built on the vikunja/vikunja:2.6.0 Docker image), so a practical exploit technique is public, but there is no CISA KEV listing and no EPSS score in the input, so there is no evidence of widespread or automated real-world exploitation; realistically this is an insider/former-collaborator abuse case rather than mass exploitation. The real-world ceiling is bounded by prerequisites (prior access + a pre-existing webhook) and by product footprint, which is modest for a self-hosted open-source tool. Note a documentation conflict: the CVE description states the fix is in 2.7.0, while the structured package feed reports 'fixed in: None' and vulnerable through 2.6.0 - verify the actual fixed release with the vendor.

Exploit ScenarioDerived

A user is added as a collaborator to a Vikunja project and, while they have access, creates a webhook pointing at a server they control. When their access is later revoked through the ordinary 'remove user from project' path (or a permission downgrade), the webhook is not deleted, so their endpoint keeps receiving task titles and descriptions - including content created after revocation. A public PoC harness demonstrating this live feed is described in the GHSA advisory.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available

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

Alert me

AnalysisAIv1 – Oct 17, 2026

Vikunja 0.22.0 through 2.6.0 fails to revoke webhook and link-share channels when a collaborator's project access is removed, so a former collaborator who created a webhook while still authorized continues to receive task titles and descriptions - including content created after revocation - as an automatic live feed. The cleanup routine that deletes derived rows (assignees, subscriptions) does not include webhooks or link shares, and it is only wired to the team-member removal path, leaving direct project-user removal, permission downgrade, and team-project removal without any cleanup. Per the assessed vector (AV:N/AC:L/PR:L/UI:N/C:H), the attacker must have been a legitimate authenticated collaborator who previously registered a webhook, gains read-only disclosure only, and no public exploit code has been identified at time of analysis.

RemediationAI

Upgrade to Vikunja 2.7.0 or later, which the vendor advisory (GHSA-hjx8-qv73-f7cm) designates as the fixed release; the Go module metadata does not record a fixed version, so verify the changelog after upgrading. Organizations that cannot upgrade immediately should audit and manually delete webhooks and link shares owned by or created for any user or team removed from a project - including users whose permissions were downgraded rather than removed and teams unlinked from projects, since those paths never trigger the cleanup routine. Because the vulnerability is triggered by the departing user's own webhook, restrict webhook and link-share creation to trusted project owners (side effect: reduced self-service automation for regular collaborators), and review destination URLs of existing webhooks for endpoints controlled by former collaborators. Rotating or blocking outbound deliveries from Vikunja to untrusted hosts at the network egress layer provides a compensating control, with the trade-off that legitimate integrations to those hosts must be allowlisted. Discarding rather than merely deleting former collaborators' accounts, and re-creating them if they return, limits residue on paths the automatic cleanup does not cover. Consult the vendor advisory and the VulnCheck advisory at vulncheck.com for further details and any vendor-provided cleanup guidance.

Affected VersionsENISA

vikunja 0.22.0 <2.7.0

Affected Packages

euvd vikunja fix: 2.7.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in 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 Go-based task/project management application (module go/code.vikunja.io/api). The root cause is CWE-613, Insufficient Session Expiration - in this case stale authorization artifacts outlive the grant that created them. The codebase already implements a revocation-cleanup helper, cleanupTaskMembersAfterTeamRemoval (pkg/models/teams.go), which re-evaluates project.CanRead for the departing member and deletes TaskAssignee and Subscription rows for project/task entities they can no longer read. That helper's row set omits webhooks and link_shares, the only two row types that carry a persistent live channel into project data, and its sole caller is the TeamMember.Delete listener (pkg/models/listeners.go). The other three revocation paths - ProjectUser.Delete (removing a user directly from a project), ProjectUser.Update (the permission-downgrade path), and TeamProject.Delete - dispatch no cleanup event at all. Consequently, webhook delivery continues to serialize task titles and descriptions to the ex-collaborator's endpoint, including tasks created after access was revoked. The advisory notes the PoC was validated against the released vikunja/vikunja:2.6.0 Docker image with per-run negative controls, and that the module metadata lists all 0.22.0-2.6.0 releases as vulnerable with no fixed version recorded in the package data.

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:H/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 6.5 MEDIUM

Attacker must be a prior low-privilege authenticated collaborator (PR:L) acting over the network (AV:N) with no extra complexity; impact is disclosure-only (C:H, I:N, A:N) within the same authorization scope (S:U).

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/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
High
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Oct 17, 2026 - 20:16 EUVD
CVE Published
Oct 17, 2026 - 18:46 cve.org
HIGH 7.1

DescriptionCVE.org

Vikunja 0.22.0 before 2.7.0 contains an improper access revocation vulnerability that allows removed collaborators to keep receiving project data through webhooks they created. Former collaborators keep receiving task titles and descriptions through their webhook, including content created after their access was revoked.

Technical POC Analysis

CWE-613 (Insufficient Session Expiration), with the advisory also tagging CWE-863 (Incorrect Authorization).

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

Vikunja versions 0.22.0 through 2.6.0 can continue delivering task titles and descriptions to former collaborators through webhooks and link shares that are not revoked when project access is removed. This creates an ongoing confidentiality gap for organizations using Vikunja for sensitive project tracking, especially where external collaborators or contractor offboarding is common. Leadership should treat this as a process and data-governance risk requiring immediate manual cleanup until a vendor fix is available.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations include manually auditing and deleting all webhooks and link shares associated with removed or downgraded collaborators; disabling webhook and link-share features globally where not business-critical; restricting creation to trusted roles; monitoring outbound webhook traffic and blocking unapproved destinations; and performing manual cleanup after every project-user removal, permission downgrade, and team-project removal.

Threat Intelligence Overview

Prevalence
Low
niche self-hosted open-source project manager, limited enterprise footprint
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 No
EPSS N/A
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
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

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-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-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-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-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,

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-57458 HIGH
8.1 Oct 09

Privilege escalation in Vikunja 2.3.0 allows a user who holds a narrowly scoped API token (permissions {"oauth":["author

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