Skip to content
Heist/ feed
Back to feed
High

Security advisory

Type: advisorySources: OSVCVE: 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. 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

CVE-2016-9182

core-osv · Original source

Published 4 Nov 2016, 10:59 UTC

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"
}