Skip to main content

ZenTao PMS CVE-2026-119645

| EUVDEUVD-2026-114061 HIGH
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-10-30 VulnCheck GHSA-j826-m6j5-hvhv
7.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Obtain low-privilege ZenTao account
  2. Delivery
    Call doc::ajaxGetDoc endpoint
  3. Exploit
    Enumerate sequential document ids
  4. Execution
    Bypass missing checkPrivDoc check
  5. Impact
    Exfiltrate private document body and drafts

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 a valid authenticated account on ZenTao PMS at or below version 22.6, consistent with CVSS PR:L - the attacker must already be able to log in, even at low privilege. The specific trigger is the doc::ajaxGetDoc() handler in module/doc/control.php, which retrieves document content without invoking the checkPrivDoc() access-control check; exploitation works against default behavior of that endpoint and needs no user interaction (UI:N) and no special configuration. Impact is limited to confidentiality (reading body and draft content of private/restricted documents) via enumeration of sequential document IDs; the main limiting factor is the need for authentication, so exposure scales with how many low-privilege accounts exist and whether the instance is internet-reachable.

Impact

This is a genuine but bounded-priority issue. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N) describes a network-reachable, low-complexity flaw requiring only low-privilege authentication (PR:L) and no user interaction, with high confidentiality impact and zero integrity or availability impact - consistent with a read-only IDOR (CWE-639). The vuln.today decision label is 'this_week', reported by VulnCheck, which signals meaningful but non-emergency urgency rather than act_now/emergency. No CISA KEV listing and no EPSS score are provided in the input, so there is no signal of active or widespread exploitation; however, the input references include a detailed public technical write-up (hackmd) and the upstream issue, so a public PoC reference exists. The practical risk is driven by how trivial post-authentication exploitation is: any valid low-privilege user can enumerate sequential document IDs to harvest private content. This is not an inflated high-CVSS-but-low-real-risk finding for environments where many users hold accounts, but its impact is confined to confidentiality disclosure - there is no code execution, data modification, or service disruption. Missing signals to note explicitly: no EPSS, no KEV, and no confirmed fixed version in the supplied data.

Exploit ScenarioDerived

A low-privilege authenticated ZenTao PMS user (or an attacker who has obtained any valid account) calls the doc::ajaxGetDoc() endpoint and iterates over sequential document IDs. Because the endpoint omits the checkPrivDoc() access check, the server returns body and draft content of private documents and otherwise-restricted library, product, project, or team documents. A public technical write-up describing the IDOR exists, though the input does not confirm it as working weaponized exploit code.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 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

Missing authorization in the doc::ajaxGetDoc() handler in ZenTao PMS through 22.6 lets any authenticated user - including a low-privilege account - read the body and draft content of private and access-restricted documents by enumerating sequential document IDs, because the handler returns content without calling checkPrivDoc(). The vendor issue tracker entry (GitHub issue #215) and a public technical writeup describe the flaw, and no fixed version is identified in the available data; exploitation is limited to confidentiality impact and requires only a valid login (PR:L, UI:N). No public exploit code has been confirmed and there is no CISA KEV entry, though a public PoC reference exists in the form of a third-party technical writeup that has not been verified as working exploit code.

RemediationAI

No vendor-released patch or fixed version is identified in the available data, so track remediation through the vendor issue at https://github.com/easysoft/zentaopms/issues/215 and the VulnCheck advisory (https://www.vulncheck.com/advisories/zentao-pms-through-22.6-missing-authorization-via-doc-ajaxgetdoc) and upgrade as soon as a release addressing the missing checkPrivDoc() call is published. Until then, the effective compensating controls are: reduce the population of low-privilege authenticated accounts and audit which users genuinely need doc module access, accepting the operational cost of stricter account provisioning; restrict network reachability of the ZenTao instance (VPN or allow-listed reverse proxy in front of the doc module) so that the AV:N path is not exposed to untrusted networks, at the cost of remote-user convenience; and monitor or rate-limit requests to the doc ajaxGetDoc endpoint for sequential or high-volume document ID enumeration, which is detective rather than preventive and will generate alert noise on legitimate bulk browsing. Because the code path only requires a valid session, disabling anonymous/self-registration and removing dormant accounts materially shrinks the attack surface; none of these controls substitutes for the upstream authorization fix.

Affected VersionsENISA

zentaopms 0 ≤22.6

Affected Packages

euvd zentaopms 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

ZenTao PMS is a PHP-based project management / ALM platform whose module/doc/control.php implements the document module's AJAX endpoints. The ajaxGetDoc() action (lines ~2524-2589 of the zentaopms_22.6_20260917 tag) fetches a document by its identifier but does not invoke checkPrivDoc(), the routine that otherwise enforces per-document, per-library, per-product, per-project and per-team read permissions. This is CWE-639 (Authorization Bypass Through User-Controlled Key): the document ID supplied by the client is trusted as the lookup key while the ownership/ACL check is skipped, so the only gate left is a valid session. Because document IDs are sequential, a logged-in user can walk the ID space and harvest content from private documents and restricted libraries. Both the published CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N) and the independent CVSS 3.1 assessment (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N) agree the flaw is remotely reachable, requires authentication at low privilege, needs no user interaction or special configuration, and affects confidentiality only - there is no integrity or availability impact. The trigger is a straightforward missing function call in the request path; no race, memory-safety or timing condition is involved.

Know when Easysoft 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 7.1 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 6.5 MEDIUM

Network-reachable endpoint, low complexity, requires a low-privilege authenticated account (PR:L), no user interaction; read-only IDOR gives high confidentiality but no integrity or availability impact.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

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

DescriptionCVE.org

ZenTao PMS through 22.6 contains a missing authorization vulnerability in doc::ajaxGetDoc() that allows authenticated users to read documents without checkPrivDoc() access checks. Low-privilege attackers can enumerate sequential document ids to retrieve body and draft content of private documents and restricted library, product, project, or team documents.

Executive ViewAI

Why It Matters

A high-severity authorization flaw in ZenTao PMS (through version 22.6) allows any authenticated user, including low-privilege accounts, to access the contents of private and access-restricted documents. This puts sensitive organizational information at risk of unauthorized disclosure, potentially affecting leadership, legal, and other teams who rely on ZenTao for confidential project documentation.

Business Impact: Medium
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations include restricting network access to ZenTao PMS, enforcing least privilege on user accounts, monitoring for anomalous document access, and applying a web application firewall rule to block unauthorized access to doc::ajaxGetDoc() with sequential IDs.

Threat Intelligence Overview

EPSS Score
0.4%
Top 67% exploitable
Prevalence
Medium
popular self-hosted project-management suite, common in some regions, not ubiquitous
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 HIGH
CISA KEV No
Public POC No
EPSS 0.4%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
Medium
Technical Impact
Partial

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

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