Security advisory
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.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2016-9182
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 31 Oct 2026, 09:49 UTC · Revision 1
Source evidence
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.
osv:CVE-2016-9182
Complete source record
{
"id": "0c93b7542598125591f01babab2a402f9b9cc27bd06322bd989e3317ce0071ae",
"url": "https://osv.dev/vulnerability/CVE-2016-9182",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "CVE-2016-9182",
"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.",
"evidence": "osv:CVE-2016-9182",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2016-9182",
"aliases": [
"CVE-2016-9182"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/exponentcms/exponent-cms",
"type": "GIT",
"events": [
{
"introduced": "505873d889f211501451036c40e3f4629e4d0647"
},
{
"last_affected": "505873d889f211501451036c40e3f4629e4d0647"
},
{
"fixed": "684d79424f768db8bb345d5c68aa2a886239492b"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:exponentcms:exponent_cms:2.4.0:*:*:*:*:*:*:*",
"range": [
{
"introduced": "2.4.0"
},
{
"last_affected": "2.4.0"
}
],
"source": "CPE_STRING"
},
{
"range": [
{
"fixed": "684d79424f768db8bb345d5c68aa2a886239492b"
}
],
"source": "REFERENCES_COMMIT"
}
]
}
}
],
"versions": [
"2.4.0",
"v2.4.0"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2016-9182.json"
}
}
],
"modified": "2026-10-20T10:48:04.824119280Z",
"provider": "osv",
"references": [
"https://github.com/exponentcms/exponent-cms/commit/684d79424f768db8bb345d5c68aa2a886239492b"
],
"provider_metadata": {}
},
"related_cves": [
{
"value": "CVE-2016-9182",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 380015,
"published_at": "2016-11-04T10:59:01.333+00:00"
}