CVEReports
CVEReports

Automated vulnerability intelligence platform. Comprehensive reports for high-severity CVEs generated by AI.

Product

  • Home
  • Sitemap
  • RSS Feed

Company

  • About
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CVEReports. All rights reserved.

Made with love by Amit Schendel & Alon Barad



CVE-2026-33700
6.90.04%

CVE-2026-33700: Insecure Direct Object Reference (IDOR) in Vikunja Link Share Deletion

Amit Schendel
Amit Schendel
Senior Security Researcher

Mar 26, 2026·5 min read·5 visits

No Known Exploit

Executive Summary (TL;DR)

Authenticated users with project admin rights can delete link shares of any project in Vikunja < 2.2.1 due to missing cross-ownership validation in the database query.

CVE-2026-33700 is an Insecure Direct Object Reference (IDOR) vulnerability in the Vikunja task management platform, specifically affecting the link share deletion API endpoint. This flaw allows an authenticated user with administrative privileges in one project to arbitrarily delete link shares belonging to any other project on the instance.

Vulnerability Overview

CVE-2026-33700 identifies a critical authorization bypass vulnerability within the open-source task management platform, Vikunja. The flaw resides specifically in the link share management component, which exposes the DELETE /api/v1/projects/:project/shares/:share API endpoint. This endpoint allows authorized users to revoke previously generated external access links for project resources.

The vulnerability is classified as CWE-639: Authorization Bypass Through User-Controlled Key. The application performs access control checks using the project ID parameter but fails to correlate the requested share ID with that specific project. This oversight breaks the fundamental security requirement that an authenticated user must only access or modify resources within their authorized domain.

Successful exploitation allows an authenticated user with administrative rights in a single project to arbitrarily delete link shares across the entire instance. This issue affects all Vikunja installations running versions prior to 2.2.1. The maintainers addressed the vulnerability in version 2.2.1 by implementing strict cross-ownership validation.

Root Cause Analysis

The root cause of CVE-2026-33700 stems from a decoupled authorization and resource retrieval implementation. When a client issues a DELETE request to the affected endpoint, the application's routing layer extracts both the :project and :share identifiers. The request first passes through an authorization middleware responsible for validating the user's permissions.

This middleware queries the database to confirm that the authenticated user holds administrative privileges for the specified :project ID. Once this check passes, the application routes the request to the deletion handler. The handler then processes the :share ID to execute the deletion query against the underlying database.

The critical flaw occurs during this database operation. The application executes the DELETE query using only the user-supplied :share ID, omitting any conditional clauses that would bind the share to the previously validated :project ID. Consequently, the application implicitly trusts the user-provided share ID based on the success of an unrelated access control check.

Code Analysis

In the pre-patch state, the application logic processes the deletion request by extracting the share identifier and passing it directly to the database interface. The handler assumes that the preceding middleware has fully validated the contextual boundaries of the request. This assumption creates a direct object reference vulnerability.

The patched implementation in version 2.2.1 introduces a mandatory cross-reference check within the data access layer. The database query is modified to include the project identifier as an explicit condition. This change ensures that the query only affects rows where both identifiers align with the database schema.

By enforcing the project_id = ? condition in the DELETE statement, the application safely binds the user-controlled key to the authorized context. If an attacker attempts to supply a disjointed share ID, the database query returns zero affected rows. The application then correctly handles the null result without modifying unauthorized records.

Exploitation Methodology

Exploitation of CVE-2026-33700 requires the attacker to satisfy specific preconditions. The attacker must possess a valid authentication token for the Vikunja instance. Furthermore, the attacker must hold administrative privileges for at least one project, which serves as the pivot point for the authorization bypass.

The initial phase of the attack involves identifying a target share identifier. Since link share IDs often use sequential numeric values, an attacker can determine valid target IDs through enumeration. The attacker may also leverage concurrent information disclosure vulnerabilities to precisely map the share IDs of target projects.

DELETE /api/v1/projects/1/shares/100 HTTP/1.1
Host: vikunja.example.com
Authorization: Bearer <Attacker_Token>

To execute the exploit, the attacker crafts an HTTP DELETE request directed at their authorized pivot project. They append the enumerated target share ID to the URL path. The server processes the request, validates the attacker's permissions for the pivot project, and subsequently deletes the specified share from the database, regardless of its true project association.

Impact Assessment

The primary impact of CVE-2026-33700 affects the integrity of the application's data layer. An attacker can permanently remove link share records from the database, invalidating all external access URLs generated for those resources. This unauthorized modification directly undermines the system's access control mechanisms.

The secondary consequence is a localized denial of service affecting system availability. Collaborative workflows that depend on shared links will fail unexpectedly when the underlying database records disappear. Administrators must manually investigate the access failures, regenerate the link shares, and distribute the new URLs to external stakeholders.

The vulnerability carries a CVSS 4.0 score of 6.9, reflecting its medium severity. The High Privileges Required metric accurately represents the attack prerequisite, as the attacker must hold project administrative rights. The lack of confidentiality impact bounds the overall severity, as the vulnerability solely permits record deletion rather than data extraction.

Remediation and Mitigation

The definitive remediation for CVE-2026-33700 requires upgrading the Vikunja application to version 2.2.1 or a subsequent release. The maintainers introduced structural changes to the database queries to enforce strict cross-ownership validation. Administrators should apply this patch during the next available maintenance window.

If immediate patching is unfeasible, system administrators can implement temporary mitigations at the network perimeter. Web Application Firewalls or API gateways can be configured to alert on high-frequency DELETE requests targeting the /api/v1/projects/*/shares/* endpoint. Monitoring these logs helps identify enumeration attempts indicative of exploitation.

Organizations should also enforce the principle of least privilege across the application. Administrators must regularly audit project permissions and revoke administrative rights from non-essential accounts. Reducing the pool of privileged users limits the internal attack surface and mitigates the risk of lateral manipulation.

Technical Appendix

CVSS Score
6.9/ 10
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
EPSS Probability
0.04%
Top 90% most exploited

Affected Systems

Vikunja API Endpoint: /api/v1/projects/:project/shares/:share

Affected Versions Detail

Product
Affected Versions
Fixed Version
Vikunja
Vikunja
< 2.2.12.2.1
AttributeDetail
CWE IDCWE-639
Attack VectorNetwork
CVSS Score6.9
EPSS Score0.00036
ImpactHigh Integrity, High Availability (Link Shares)
Exploit StatusNone
KEV StatusNot Listed

MITRE ATT&CK Mapping

T1190Exploit Public-Facing Application
Initial Access
T1098Account Manipulation
Persistence
T1531Account Access Removal
Impact
CWE-639
Authorization Bypass Through User-Controlled Key

The system's authorization logic fails to verify if the user-controlled key correlates to the authorized resource context.

Vulnerability Timeline

Vikunja releases patched versions 2.2.1 and 2.2.2.
2026-03-23
CVE-2026-33700 is formally published.
2026-03-24
NVD and CVE.org records updated with CVSS metrics.
2026-03-25

References & Sources

  • [1]GHSA-f95f-77jx-fcjc
  • [2]Vikunja Release Changelog
  • [3]CVE-2026-33700
  • [4]CVE.org Record

Attack Flow Diagram

Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.