CVE-2026-114391: ZenTao PMS before 22.3 Authorization Bypass via Ajax Controller Methods
ZenTao PMS before 22.3 contains an authorization bypass vulnerability in commonModel::isOpenMethod() that lets logged-in users skip group-based ACL checks for any method containing 'ajax'. Minimal-privilege users can call methods like task.ajaxGetByID, system.ajaxDBAuthUrl and admin.ajaxChangeTableEngine to read data, obtain database credentials, trigger CI jobs and alter tables.
Affected Software
Event History
Frequently Asked Questions
Who can exploit this issue?
An attacker must be authenticated to ZenTao PMS. Even a minimal-privilege logged-in user can exploit it because the affected logic skips group-based ACL checks for methods whose names contain "ajax".
Which deployments are affected?
ZenTao PMS versions before 22.3 are affected. The issue is in the application's authorization logic, so affected instances are exposed to any user who can log in; no special configuration requirement is stated.
What could an attacker do after bypassing authorization?
Accessible ajax methods may allow reading data, obtaining database credentials, triggering CI jobs, or altering database tables. Examples identified include task.ajaxGetByID, system.ajaxDBAuthUrl, and admin.ajaxChangeTableEngine.
What is the available remediation?
Upgrade ZenTao PMS to version 22.3 or later. The referenced 22.3 release includes the fix.