Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privilege Warracker user owning a warranty
-
DeliverySearch victim's private document via shared Paperless-ngx credential (paperless_search)
-
ExploitLink target document ID to own warranty as 'other' type (paperless_search_and_link)
-
ExecutionRequest document via serve_paperless_document, which treats the link as ownership
-
ImpactDisclose victim's private document contents (HTTP 200)
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires all of: the Warracker Paperless-ngx integration enabled and configured with its single shared API token; the shared token able to read the target document; the attacker holding a normal (non-admin) authenticated Warracker account that owns at least one warranty; and the target being an 'other'-type document on another user's warranty that is not shared with the attacker. No victim interaction is needed, and the bypass works even when Global View is disabled or restricted to administrators. Limiting factors that reduce real-world risk: exploitation is confined to authenticated low-privilege users (PR:L, not anonymous), depends on the optional Paperless-ngx integration being deployed, is gated by what the shared service credential can read, and affects confidentiality only (no integrity or availability impact). |
| Impact | The signals point to a real but bounded issue rather than an urgent emergency. The CVSS 4.0 base score is 6.0 (medium) with vector AV:N/AC:L/AT:P/PR:L/UI:N and confidentiality-only impact (VC:H, VI:N, VA:N); PR:L confirms the attacker must be an authenticated, non-administrative user, so this is not an unauthenticated internet-facing break. No CVSS 3.1 vector was supplied in the input. No EPSS score and no CISA KEV entry are present in the provided data, so there is no evidence of active exploitation - exploitation is best characterized as no public exploit identified via KEV, though a detailed public PoC reference exists in the GHSA advisory (it is not verified as a working deployed exploit, as the author confirmed it only against the file_routes.py code using synthetic database records and a mocked Paperless-ngx API, not a live instance). The vendor-assigned priority Decision label is this_month - a hardening-cycle priority, not act_now or emergency. Mapped to an SSVC-style read: exploitation = PoC available (not active), automatable = partial (the attacker must search for and identify a specific target document), technical impact = partial (confidentiality loss only, no integrity or availability). Net: a genuine authorization/access-control defect worth patching on a normal cycle, limited by the requirements that the Paperless-ngx integration be enabled, the attacker hold a valid account, and the shared service credential be able to read the target document. Note a CWE discrepancy: the input lists CWE-862 (Missing Authorization) while the GHSA lists CWE-639 (Authorization Bypass Through User-Controlled Key) - both are authorization-class, but verify the canonical mapping with the vendor advisory. |
| Exploit ScenarioDerived | An authenticated, non-administrative Warracker user who owns at least one warranty uses the Paperless-ngx search to locate another user's private 'other' document and links its document ID to their own warranty, after which serve_paperless_document() treats that link as proof of ownership and returns the document contents (a prior direct request returned HTTP 403, the linked request returns HTTP 200). A step-by-step PoC is published in the GHSA advisory, though it was validated only against the code with a mocked Paperless-ngx API rather than a live deployment. Given AV:N/AC:L/PR:L/UI:N, the attack is remotely performable with a normal account and no victim interaction, but requires the Paperless-ngx integration to be enabled and the shared API token to be able to read the target document. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Nov 02, 2026
Warracker releases up to and including 1.0.3 mishandle authorization in their Paperless-ngx integration, letting any signed-in non-administrative user who owns at least one warranty link another user's private Paperless document to their own warranty and then download it, because the presence of a document ID on a warranty is treated as proof of ownership. Exploitation requires the optional Paperless-ngx integration to be enabled with a shared API token that can read the target document, and affects confidentiality only (private receipts, invoices and similar records) with no integrity or availability impact assessed. The vendor has fixed the flaw in 1.0.4; a public proof-of-concept walkthrough exists in the GHSA advisory, but it was validated against synthetic records and a mocked Paperless-ngx API rather than a live deployment, so it is not verified as working exploit code, and the issue is rated for this-month remediation rather than emergency action.
RemediationAI
Vendor-released patch: upgrade Warracker to 1.0.4 (https://github.com/sassanix/Warracker/releases/tag/1.0.4), which contains a full access-control pass over the Paperless-ngx integration; the release notes state that Warracker now records which user owns each Paperless document, so the link-alone-is-ownership assumption no longer holds. Release details and credits are in https://github.com/sassanix/Warracker/security/advisories/GHSA-3h89-rqfj-5674. If upgrading cannot be done immediately, the exploitation prerequisites themselves define the compensating controls: disable the Paperless-ngx integration entirely (removes the exposure but also removes document search, linking and viewing for all users), or reissue the integration's API token in Paperless-ngx with the narrowest possible document visibility so the shared credential cannot read other users' private records (reduces the blast radius but does not close the authorization bypass, and may break legitimate linking workflows for documents that fall outside the new scope). Auditing existing warranties for paperless_other_id entries that point at documents the linking user does not own is advisable to detect prior abuse, since the advisory notes that access persists for as long as the link remains on the attacker's warranty.
Affected VersionsENISA
Affected Packages
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
Warracker connects to a Paperless-ngx document server using a single shared API credential rather than per-user delegation, so every Warracker request reaches Paperless-ngx with the same effective privileges. The affected code lives in backend/file_routes.py: paperless_search() (roughly lines 459-545) returns results from that shared credential without filtering them to documents the requesting user is allowed to see, paperless_search_and_link() (roughly lines 832-907) writes any matching document ID into a warranty the caller owns - including the paperless_other_id field used for 'other' document type attachments - without checking access to the source document, and serve_paperless_document() (roughly lines 252-283) then treats a document ID appearing on any warranty owned by the requester as sufficient proof of ownership before streaming the file. The root cause is best described as missing authorization (CWE-862), with the advisory additionally classifying it as authorization bypass through user-controlled key / improper ownership resolution (CWE-639): the application resolves trust from an attacker-influenceable link record instead of consulting the document's real owner and the Global View restrictions, which is why the bypass works even when Global View is disabled or limited to administrators. The vulnerability was confirmed against the v1.0.2 implementation and commit e4375b3 using synthetic database records and a mocked Paperless-ngx API; a full deployment against a live Paperless-ngx instance was not tested.
Know when Warracker 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
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Authenticated low-privilege user (PR:L) performs a deterministic network request with no user interaction (AC:L, UI:N); impact is confidentiality-only (C:H, I:N, A:N) within the same app authority (S:U).
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Warracker before 1.0.4 contains a missing authorization vulnerability in its Paperless-ngx integration that allows an authenticated, non-administrative user to bypass document ownership restrictions by searching for and linking another user's private document ID to a warranty they own using the other document type. Attackers can exploit insufficient authorization checks in the paperless_search_and_link() and serve_paperless_document() route handlers in file_routes.py to retrieve and disclose private documents belonging to another user via the shared Paperless-ngx API credential, resulting in unauthorized read access and confidentiality loss.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
EUVD-2026-115152
GHSA-xqgh-rxmq-pv66
NVD
CVE.org
Exploit-DB