Vikunja, Improper Access Control, CVE-2026-35591 (Medium) -DC-Oct2026-3040

Listen to this Post

The vulnerability resides in the revocation handling paths of Vikunja projects, specifically concerning webhooks and link shares created by project collaborators. When a collaborator or team member loses access to a project, Vikunja features a cleanup routine designed to strip away derived residual items such as task assignees and subscriptions. However, this cleanup set omits project webhooks and link shares entirely. Furthermore, this remediation routine is strictly wired to only one out of four potential revocation paths—namely, team member removal—while direct project user deletion or role downgrades fail to invoke any cleanup routines. As a result, an evicted collaborator retains an active, continuous automated feed or link access to project resources, permitting them to intercept real-time task s and descriptions created long after their authorization has been formally terminated.

DailyCVE Form:

Platform: Vikunja
Version: v0.22.0 – v2.6.0
Vulnerability : Access Control
Severity: Medium
date: 2026-04-09

Prediction: 2026-04-09

What Undercode Say

Bash Commands and Codes

Verify affected paths and check for webhook deletion logic in source
grep -rn "cleanupTaskMembersAfterTeamRemoval" pkg/models/
git log -S "cleanupTaskMembersAfterTeamRemoval" --oneline
// Excerpt from pkg/models/teams.go showing missing webhook and link share cleanup entities
_, err = s.In("task_id", taskIDs).And("user_id = ?", memberID).
Delete(&TaskAssginee{})
_, err = s.In("entity_id", taskIDs).
Where("entity_type = ? AND user_id = ?", SubscriptionEntityTask, memberID).
Delete(&Subscription{})
// Missing: deletion logic for webhooks and link shares tied to departing users

Exploit: (Educational Purposes!)

  1. Provision a test user collaborator account with write permissions to a target project inside a vulnerable Vikunja deployment.
  2. Create an active project webhook or a link share via the collaborator account to hook an external listener endpoint.
  3. Revoke the collaborator’s access via direct project user removal or team-based offboarding paths.
  4. Create a new task or modify project contents as the project owner.
  5. Observe that the webhook continues to fire and transmit payloads containing the newly created task descriptions to the former collaborator’s sink, and verify that link shares remain fully redeemable despite the revocation event.

Protection

Upgrade your Vikunja deployment to version 2.3.0 or later where link shares and webhooks are properly validated or cleaned up upon user removal, or ensure that access controls explicitly re-validate creator permissions on webhook delivery and share redemption routes.

Impact

A former project collaborator can continuously exfiltrate real-time updates, task s, and descriptions of a private project indefinitely after their access rights have been revoked, undermining organizational offboarding boundaries and data confidentiality guarantees.

🎯Let’s Practice Exploiting & Learn Patching For Free:

🎓 Live Courses & Certifications:

Join Undercode Academy for Verified Certifications

🚀 Request a Custom Project:

Secure, high-velocity infrastructure and disruptive technological engineering. Contact our engineering team for high-tier development and proprietary systems:
[email protected]
💎 Smart Architecture | 🛡️ Secure by Design | ⭐ Trusted by Thousands

Sources:

Reported By: github.com
Extra Source Hub:
Undercode

🔐JOIN OUR CYBER WORLD [ CVE News • HackMonitor • UndercodeNews ]

💬 Whatsapp | 💬 Telegram

📢 Follow DailyCVE & Stay Tuned:

𝕏 formerly Twitter 🐦 | @ Threads | 🔗 Linkedin Featured Image

Scroll to Top