CVE-2026-30954 Overview
LinkAce is a self-hosted archive to collect website links. In version 2.1.0 and earlier, an Insecure Direct Object Reference (IDOR) vulnerability exists in the processTaxonomy() method within LinkRepository.php. This flaw allows authenticated users to attach other users' private tags and lists to their own links by passing integer IDs, effectively bypassing authorization controls and exposing private organizational data.
Critical Impact
Authenticated attackers can access and associate other users' private tags and lists with their own links, leading to unauthorized information disclosure and privacy violations within multi-user LinkAce deployments.
Affected Products
- LinkAce version 2.1.0 and earlier
- Self-hosted LinkAce installations with multiple users
- Deployments where users maintain private tags and lists
Discovery Timeline
- 2026-03-10 - CVE CVE-2026-30954 published to NVD
- 2026-03-11 - Last updated in NVD database
Technical Details for CVE-2026-30954
Vulnerability Analysis
This vulnerability is classified under CWE-639 (Authorization Bypass Through User-Controlled Key). The core issue lies in insufficient authorization validation when processing taxonomy data. The processTaxonomy() method in LinkRepository.php accepts integer IDs for tags and lists without properly verifying that the authenticated user has ownership or access rights to those resources.
When a user creates or edits a link, they can supply arbitrary integer IDs representing tags or lists. The application fails to validate whether these IDs belong to the requesting user, allowing attackers to reference and attach private tags and lists created by other users. This exposes the names and organizational structures of other users' private categorization systems.
Root Cause
The vulnerability stems from missing authorization checks in the processTaxonomy() method. The function processes user-supplied integer IDs for tags and lists and associates them with links without verifying resource ownership. The application trusts user input implicitly, assuming that provided IDs belong to the authenticated user, which violates the principle of least privilege.
Attack Vector
The attack is network-based and requires low privileges (authenticated user account). An attacker must first obtain a valid user account on the target LinkAce instance. From there, they can enumerate or guess integer IDs for other users' private tags and lists.
The exploitation flow involves modifying requests when creating or editing links. By manipulating the tag or list ID parameters in the request body, an attacker can attach other users' private taxonomies to their own links. This effectively reveals the existence and names of private organizational structures, compromising user privacy.
For technical details on the vulnerability mechanism, refer to the GitHub Security Advisory.
Detection Methods for CVE-2026-30954
Indicators of Compromise
- Unusual associations between links and tags/lists owned by different users
- Requests containing tag or list IDs that don't belong to the authenticated user
- Abnormal patterns in link editing requests with sequential or enumerated ID values
- Audit log entries showing taxonomy associations across user boundaries
Detection Strategies
- Monitor HTTP requests to link creation/editing endpoints for tag and list ID parameters referencing resources outside the user's scope
- Implement application-level logging to track taxonomy associations and flag cross-user references
- Review database records for links associated with tags or lists owned by different users
- Deploy web application firewall (WAF) rules to detect parameter tampering patterns
Monitoring Recommendations
- Enable detailed access logging on the LinkAce application
- Set up alerts for failed authorization attempts if application supports it
- Periodically audit database integrity for cross-user taxonomy associations
- Monitor for enumeration patterns in API request logs
How to Mitigate CVE-2026-30954
Immediate Actions Required
- Upgrade LinkAce to the latest patched version when available
- Review existing link-taxonomy associations for unauthorized cross-user references
- Restrict user registration to trusted individuals until patch is applied
- Consider implementing network-level access controls to limit exposure
Patch Information
Consult the GitHub Security Advisory for the latest patch information and remediation guidance from the LinkAce maintainers. Users running version 2.1.0 or earlier should prioritize upgrading to a patched release.
Workarounds
- Limit LinkAce deployments to single-user instances until patched
- Implement network segmentation to restrict access to trusted users only
- Use reverse proxy authentication to add an additional access control layer
- Disable public registration and audit existing user accounts
# Example: Restrict access to LinkAce via nginx reverse proxy
# Add to nginx configuration for the LinkAce server block
location / {
# Restrict to internal network until patched
allow 10.0.0.0/8;
allow 192.168.0.0/16;
deny all;
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

