Vikunja Vulnerable to Link Share Hash Disclosure via ReadAll Endpoint Enables Permission Escalation
Vikunja is an open-source self-hosted task management platform. Prior to version 2.2.2, the `LinkSharing.ReadAll()` method allows link share authenticated users to list all link shares for a project, including their secret hashes. While `LinkSharing.CanRead()` correctly blocks link share users from reading individual shares via `ReadOne`, the `ReadAllWeb` handler bypasses this check by never calling `CanRead()`. An attacker with a read-only link share can retrieve hashes for write or admin link shares on the same project and authenticate with them, escalating to full admin access. Version 2.2.2 patches the issue.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-33680
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 2 Nov 2026, 23:30 UTC · Revision 1
Source evidence
Vikunja Vulnerable to Link Share Hash Disclosure via ReadAll Endpoint Enables Permission Escalation
core-osv · Original sourcePublished 24 Mar 2026, 15:47 UTC
Vikunja is an open-source self-hosted task management platform. Prior to version 2.2.2, the `LinkSharing.ReadAll()` method allows link share authenticated users to list all link shares for a project, including their secret hashes. While `LinkSharing.CanRead()` correctly blocks link share users from reading individual shares via `ReadOne`, the `ReadAllWeb` handler bypasses this check by never calling `CanRead()`. An attacker with a read-only link share can retrieve hashes for write or admin link shares on the same project and authenticate with them, escalating to full admin access. Version 2.2.2 patches the issue.
osv:CVE-2026-33680
Complete source record
{
"id": "2786743b089eed33fae68e4beee11f4b03d956788e8d159519cb2f4f22fa6af8",
"url": "https://osv.dev/vulnerability/CVE-2026-33680",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Vikunja Vulnerable to Link Share Hash Disclosure via ReadAll Endpoint Enables Permission Escalation",
"summary": "Vikunja is an open-source self-hosted task management platform. Prior to version 2.2.2, the `LinkSharing.ReadAll()` method allows link share authenticated users to list all link shares for a project, including their secret hashes. While `LinkSharing.CanRead()` correctly blocks link share users from reading individual shares via `ReadOne`, the `ReadAllWeb` handler bypasses this check by never calling `CanRead()`. An attacker with a read-only link share can retrieve hashes for write or admin link shares on the same project and authenticate with them, escalating to full admin access. Version 2.2.2 patches the issue.",
"evidence": "osv:CVE-2026-33680",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2026-33680",
"aliases": [
"CVE-2026-33680",
"GHSA-8hp8-9fhr-pfm9",
"GO-2026-4848"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/go-vikunja/vikunja",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "772316b47f966cfce07c8241a099088aff0e6a74"
},
{
"fixed": "9efe1fadba817923c7c7f5953c3e9e9c5683bbf3"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:vikunja:vikunja:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "2.2.2"
}
],
"source": "CPE_RANGE"
},
{
"range": [
{
"fixed": "9efe1fadba817923c7c7f5953c3e9e9c5683bbf3"
}
],
"source": "REFERENCES_COMMIT"
}
]
}
}
],
"versions": [
"v2.2.0",
"v2.1.0",
"v2.0.0",
"v1.1.0",
"v1.0.0",
"v1.0.0-rc4",
"v1.0.0-rc3",
"v1.0.0-rc2",
"v1.0.0-rc1",
"v1.0.0-rc0",
"v0.24.1",
"v0.23.0",
"v0.22.1",
"v0.22.0",
"v0.21.0",
"v0.20.4",
"v0.20.3",
"v0.20.1",
"v0.20.0",
"v0.19.2",
"v0.19.1",
"v0.19.0",
"v0.18.1",
"v0.18.0",
"v0.17.0",
"v0.16.0",
"v0.15.0",
"v0.14.0",
"v0.13",
"v0.12",
"v0.11",
"v0.10",
"v0.9",
"v0.8",
"v0.7",
"v0.6",
"v0.5",
"v0.4",
"v0.3",
"v0.2",
"v0.1"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-33680.json"
}
}
],
"modified": "2026-10-28T02:30:24.421214393Z",
"provider": "osv",
"references": [
"https://vikunja.io/changelog/vikunja-v2.2.2-was-released",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/33xxx/CVE-2026-33680.json",
"https://github.com/go-vikunja/vikunja/security/advisories/GHSA-8hp8-9fhr-pfm9",
"https://nvd.nist.gov/vuln/detail/CVE-2026-33680",
"https://github.com/go-vikunja/vikunja/commit/9efe1fadba817923c7c7f5953c3e9e9c5683bbf3"
],
"provider_metadata": {
"cwe_ids": [
"CWE-285"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/33xxx/CVE-2026-33680.json"
}
},
"related_cves": [
{
"value": "CVE-2026-33680",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 490889,
"published_at": "2026-03-24T15:47:47.529+00:00"
}