CVE-2016-9182
Exponent CMS 2.4 uses PHP reflection to call a method of a controller class, and then uses the method name to check user permission.
Published 10 y ago · modified 4 mo ago · JSON
Summary
Exponent CMS 2.4 uses PHP reflection to call a method of a controller class, and then uses the method name to check user permission. But, the method name in PHP reflection is case insensitive, and Exponent CMS permits undefined actions to execute by default, so an attacker can use a capitalized method name to bypass the permission check, e.g., controller=expHTMLEditor&action=preview&editor=ckeditor and controller=expHTMLEditor&action=Preview&editor=ckeditor. An anonymous user will be rejected for the former but can access the latter.
Exploit prediction (EPSS)
1.41% probability of exploitation in the next 30 days, higher than 73% of all scored CVEs.
CVSS scores
| Assigned by | Version | Score | Vector |
|---|---|---|---|
| NVD | 3.0 | 7.5 | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N |
| NVD | 2.0 | 5.0 | AV:N/AC:L/Au:N/C:N/I:P/A:N |
Classification
- Weakness
- CWE-284 Improper Access Control
References
- securityfocus.com /bid/94227 · vdb-entry, x_refsource_BID, x_transferred
- github.com /exponentcms/exponent-cms/commit/684d79424f768db8bb345d5c68aa2a886239492b · x_refsource_CONFIRM, x_transferred
Sources
- CVE List: CVE-2016-9182
- NVD: CVE-2016-9182
vulnwire keeps one entry per vulnerability: the CVE id wins, then GHSA; records that alias each other are merged. Machine-readable: JSON.