Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privilege MrDoc user
-
ExploitCompute victim's MD5 share token from doc ID and username
-
ExecutionCall manage_doc_share type 3 to re-enable share and strip access code
-
ImpactAccess now-exposed private document
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
|
| Exploitation Conditions | Requires an authenticated account on the MrDoc instance (PR:L) and a target document that already has a DocShare record. Because the share token is derived deterministically as the MD5 of '{doc_id}_{username}', an attacker who knows or can enumerate the target document's ID and the owner's username can compute the token offline. The vulnerable manage_doc_share type 3 branch then updates the DocShare row filtered only by token (no doc__create_user ownership check), so the attacker can set is_enable=true to re-enable a disabled share or set share_type=0 to remove the access code. Limiting factors: valid authentication is required, the attacker must know/guess the document ID and owner username, and a share record for that document must exist; the flaw does not grant code execution or availability impact. |
| Impact | This is a medium-severity (CVSS 5.3) broken-access-control/IDOR issue (CWE-639), and the available signals point to a genuine but non-urgent problem rather than a high-priority emergency. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N) indicates network-reachable, low-complexity exploitation but requires low privileges (PR:L) - i.e. an authenticated account - and yields only limited confidentiality and integrity impact with no availability impact, which is consistent with the description (an authenticated user altering another user's share settings). No EPSS score is provided, the CVE is not in CISA KEV, and no verified exploit code is referenced, so there is no evidence of active exploitation; the only mechanism references are the bug report, the VulnCheck advisory, and the fix commit. The vendor priority label is 'this_month', aligning with the medium severity and the authentication prerequisite. The main real-world constraint is that exploitation requires a valid account on a multi-user instance plus knowledge of the target document ID and owner username; absent those, impact is limited. Net: a legitimate access-control fix to schedule, not a drop-everything issue. |
| Exploit ScenarioDerived | On a multi-user MrDoc instance, a logged-in low-privilege user computes the predictable share token for a colleague's private document as MD5('{doc_id}_{username}'), then invokes the manage_doc_share type 3 branch - which updates by token without checking ownership - to re-enable a previously disabled share and remove its access code. The document is then exposed without the owner's consent. No verified public exploit code is referenced, though the vendor fix commit and VulnCheck advisory describe the flaw in detail. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 28, 2026
Authenticated users of MrDoc through 1.1.1 can re-enable disabled document shares and strip access codes from other users' shares, because the manage_doc_share type 3 branch updates DocShare records filtered only on the share token with no ownership check. The token itself is the enabling weakness: it is computed as the MD5 of '{doc_id}_{username}', so anyone who knows or can enumerate the document ID and the owner's username can derive a valid token offline and use it to flip is_enable to true or set share_type to 0, exposing documents that were meant to be private. Severity is medium (CVSS 4.0 base 5.3, assessed 3.1 5.3, CWE-639), exploitation requires a valid account plus a pre-existing share record on the target document, and no public exploit has been identified at time of analysis.
RemediationAI
Vendor fix is available upstream as commit 2cd13ff0659dbef9aea59d5af122a21204942262 (https://github.com/zmister2016/MrDoc/commit/2cd13ff0659dbef9aea59d5af122a21204942262), which replaces MD5 token derivation with secrets.token_urlsafe(32) and adds the missing ownership check (doc__create_user=request.user) to manage_doc_share; patch data states a fix is available from the vendor, but a released patched version number is not stated in the available data, so deployments should apply or backport that commit and confirm with the project repository whether a tagged release includes it. Note a residual gap in the commit itself: when a DocShare row already holds a non-empty token it is preserved rather than rotated, so previously issued deterministic tokens are not invalidated automatically - owners should re-save share configuration or manually rotate tokens for existing shares, and the fix only backfills a random token where the stored token is empty. Until patched, the practical compensating controls are to restrict who can hold an account on the instance (the flaw requires an authenticated session), to review DocShare rows for tokens matching the MD5 of '{doc_id}_{owner_username}' and disable or delete those shares, and to prefer not leaving sensitive documents in a share record at all, since the access code is exactly what the attacker can remove. Apply the upstream fix as the complete resolution rather than relying on these workarounds.
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
MrDoc is a Django-based document and knowledge-base application in which sharing is modelled by a DocShare row carrying a token, a share_type (1 meaning an access code protected share, 0 meaning no code), a share_value holding that code, and an is_enable flag. In versions through 1.1.1 the share token was not random: app_doc/views.py built it with hashlib.md5 over the string '{doc_id}_{username}', making it a deterministic, offline-computable identifier of both the document and its owner. That turns the token into an attacker-guessable object reference, which is exactly the CWE-639 pattern (authorization bypass through a user-controlled key): the manage_doc_share type 3 handler trusted the token as proof of authority and issued DocShare.objects.filter(token=token).update(...) without ever constraining doc__create_user to the requesting user, so any authenticated account holding a derived token could mutate another user's share state. The vendor commit 2cd13ff0659dbef9aea59d5af122a21204942262 replaces hashlib with secrets and generates tokens via secrets.token_urlsafe(32), adds a doc__create_user=request.user filter on the update path (returning a 'no permission' JSON response when no row matches), and additionally hardens token verification so that only rows with is_enable=True are resolved, closing the route by which a disabled share could still be validated.
Know when Mrdoc 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:N/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
Network-reachable (AV:N) and low-complexity (AC:L) once a token is computed, but needs an authenticated account (PR:L) and no user interaction; limited confidentiality and integrity impact, no availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
MrDoc through 1.1.1 contains a broken access control vulnerability in the manage_doc_share type 3 branch that allows authenticated users to modify other users' document share settings because updates lack an ownership check. Attackers can compute predictable share tokens from the MD5 of document ID and username to re-enable disabled shares or remove access codes, exposing private documents.
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.
mrdoc is vulnerable to Deserialization of Untrusted Data. Rated high severity (CVSS 7.8), this vulnerability is no authe
MrDoc v0.95 and before is vulnerable to Server-Side Request Forgery (SSRF) in the validate_url function of the app_doc/u
Missing object-level authorization in MrDoc through 1.1.1 lets any authenticated user publish other users' private draft
EUVD-2026-110841
GHSA-rf24-chhw-3jch
NVD
CVE.org
EPSS
Exploit-DB