Skip to main content

ShowDoc CVE-2026-119661

| EUVDEUVD-2026-114077 LOW
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-10-30 VulnCheck GHSA-2x8q-m4r9-vg7h
2.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate with low-privilege ShowDoc account
  2. Delivery
    Identify/enumerate victim entry ids
  3. Exploit
    Craft deleteEntries batch with own id first
  4. Execution
    Server checks only first id's permission
  5. Impact
    Victim parameter-description entries permanently deleted

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 ShowDoc account holding edit permission on at least one parameter-description library (PR:L), used to supply a legitimately-owned entry id as the first element of the deleteEntries id list. The specific trigger per the source code: api/paramDescLib/deleteEntries (ParamDescLibController) called ParameterDescriptionEntry::findById on $ids[0] only and ran checkItemEdit against that single entry's item_id, then deleted the entire $ids array - so appending victim entry ids after a valid owned id bypasses the per-item check. Limiting factors: exploitation is not possible pre-authentication, impact is restricted to deletion of parameter-description entries (no read/confidentiality impact), and the attacker must know or enumerate the target entry ids. Affected: ShowDoc through 3.9.5; the linked vendor commit is the fix.

Impact

This is a genuinely low-priority issue, and the signals are internally consistent rather than conflicting. The vendor-supplied CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:L/VA:L) and the 2.3 base score both point to low real-world severity: exploitation requires an authenticated account (PR:L) that already holds edit permission on at least one parameter-description library, and the impact is confined to integrity and availability of parameter-description entries (VI:L/VA:L) with no confidentiality exposure (VC:N) and no scope change (SC/SI/SA:N). The vuln.today decision label is 'monitor', the lowest urgency tier, which aligns with the low CVSS. There is no CISA KEV listing and no EPSS score was supplied, so there is no evidence of active or probable widespread exploitation. A public technical write-up (hackmd) and the upstream issue describe the flaw, but the input does not confirm working weaponized exploit code. The only mild tension is that the flaw is trivially understood and the fix is a simple per-entry permission check - so weaponization is easy if an attacker is motivated - but the pre-authentication barrier, the narrow data-only impact, and the niche product footprint keep real-world risk low. No key CVSS data is missing; the 4.0 vector is complete and consistent with the description.

Exploit ScenarioDerived

An authenticated ShowDoc user with edit rights to any one parameter-description library crafts a batch delete request to api/paramDescLib/deleteEntries, placing one of their own entry ids first and appending entry ids belonging to other users' projects. Because the server validated edit permission only against the first id, all listed entries - including those the attacker has no rights to - are permanently deleted. A public PoC reference exists describing this exact cross-item IDOR; it is not verified as working exploit code.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 30, 2026

ShowDoc through 3.9.5 lets an authenticated user with edit rights on any single parameter-description library delete parameter-description entries belonging to other projects, because the deleteEntries API only verified edit permission for the first entry id in the submitted list. An attacker supplies one entry id they legitimately control as the first element and appends victim entry ids; the permission check passes on the first entry and the delete then runs across the whole array, permanently removing the appended records. Confidentiality is unaffected and the assessed severity is low (CVSS 3.1: 5.4-equivalent vector scored as AV:N/AC:L/PR:L/UI:N/C:N/I:L/A:L, vendor CVSS 4.0 base 2.3); no CISA KEV entry exists, and a public technical writeup of the bypass is referenced, though it is not verified as working exploit code. Priority is 'monitor'.

RemediationAI

Vendor-released fix: upstream commit 53228511e656904abf7841c3d25ff78a4b5ce9c2 (https://github.com/star7th/showdoc/commit/53228511e656904abf7841c3d25ff78a4b5ce9c2), which enforces a per-entry edit-permission check instead of trusting $ids[0]; patch availability is confirmed by the vendor, but no tagged release version beyond 3.9.5 is listed in the available data, so confirm a fixed tag or deploy the commit directly (see also https://github.com/star7th/showdoc/issues/2612). If upgrading cannot be done immediately, the exposure window can be reduced by limiting edit rights on parameter-description libraries to users who are trusted across every project on the instance, since the bypass requires an account that already holds edit permission on at least one entry, and by reviewing or backing up parameter-description data so deleted entries can be restored - note that neither measure removes the flaw itself. Monitor deletion activity on api/paramDescLib/deleteEntries for requests whose id list spans multiple projects.

Affected VersionsENISA

ShowDoc 0 ≤3.9.5

Affected Packages

euvd showdoc no fix

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

ShowDoc is a PHP web application (the affected controller is server/app/Api/Controller/ParamDescLibController.php in the v3.9.5 tree) that stores reusable parameter-description entries per documentation project. The flaw is CWE-639, Authorization Bypass Through User-Controlled Key - a classic IDOR pattern in a batch operation: the _deleteEntries handler fetched only ParameterDescriptionEntry::findById($ids[0]), ran checkItemEdit($uid, $firstEntry->item_id) against that single record, and then called ParameterDescriptionEntry::delete($ids) on the entire attacker-supplied array. The security decision was therefore bound to one user-controlled key while the destructive operation applied to all keys. The vendor fix (commit 53228511e656904abf7841c3d25ff78a4b5ce9c2) replaces this with a per-id loop that resolves each entry, re-runs checkItemEdit on every entry's item_id, skips entries that do not exist or fail the check, and deletes only the collected allowed ids, returning an error when none qualify. No confidentiality impact exists because the endpoint performs deletion only; integrity and availability impact are limited to loss of the affected parameter-description records, and the attacker must know or enumerate the target entry ids.

Know when Showdoc 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

Vendor (VulnCheck) PRIMARY 2.3 LOW
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N
vuln.today AI 5.4 MEDIUM

Authenticated user with edit rights on one library (PR:L), simple batch request (AC:L), no read exposure (C:N); unauthorized deletion of others' entries yields low integrity and availability impact.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
Low
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

ShowDoc through 3.9.5 contains an authorization bypass vulnerability in the api/paramDescLib/deleteEntries endpoint that checks edit permission only for the first supplied entry id. Authenticated attackers can place their own entry id first and append other users' entry ids to permanently delete those parameter-description entries.

Threat Intelligence Overview

EPSS Score
0.4%
Top 68% exploitable
Prevalence
Low
niche self-hosted open-source developer documentation tool, limited enterprise footprint
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity LOW
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Low
Technical Impact
Partial

Priority Score

12
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +12
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0
CVE-2021-36440 CRITICAL POC
9.8 Sep 08

Unrestricted File Upload in ShowDoc v2.9.5 allows remote attackers to execute arbitrary code via the 'file_url' paramete

CVE-2021-4168 HIGH POC
8.8 Dec 26

showdoc is vulnerable to Cross-Site Request Forgery (CSRF). Rated high severity (CVSS 8.8), this vulnerability is remote

CVE-2021-4017 HIGH POC
8.8 Dec 01

showdoc is vulnerable to Cross-Site Request Forgery (CSRF). Rated high severity (CVSS 8.8), this vulnerability is remote

CVE-2022-0409 HIGH POC
7.8 Feb 19

Unrestricted Upload of File with Dangerous Type in Packagist showdoc/showdoc prior to 2.10.2. Rated high severity (CVSS

CVE-2022-1034 HIGH POC
7.2 Mar 22

There is a Unrestricted Upload of File vulnerability in ShowDoc v2.10.3 in GitHub repository star7th/showdoc prior to 2.

CVE-2021-3993 MEDIUM POC
6.5 Dec 01

showdoc is vulnerable to Cross-Site Request Forgery (CSRF). Rated medium severity (CVSS 6.5), this vulnerability is remo

CVE-2021-3990 MEDIUM POC
6.5 Dec 01

showdoc is vulnerable to Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG). Rated medium severity (CVS

CVE-2021-3683 MEDIUM POC
6.5 Nov 13

showdoc is vulnerable to Cross-Site Request Forgery (CSRF). Rated medium severity (CVSS 6.5), this vulnerability is remo

CVE-2018-19621 MEDIUM POC
6.5 Nov 28

server/index.php?s=/api/teamMember/save in ShowDoc 2.4.2 has a CSRF that can add members to a team. Rated medium severit

CVE-2018-19609 MEDIUM POC
6.5 Nov 27

ShowDoc 2.4.1 allows remote attackers to obtain sensitive information by navigating with a modified page_id, as demonstr

CVE-2022-0951 MEDIUM POC
6.1 Mar 15

File Upload Restriction Bypass leading to Stored XSS Vulnerability in GitHub repository star7th/showdoc prior to 2.10.4.

CVE-2021-4000 MEDIUM POC
6.1 Dec 03

showdoc is vulnerable to URL Redirection to Untrusted Site. Rated medium severity (CVSS 6.1), this vulnerability is remo

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy