Description
CMSimple 5.24 ships with CSRF protection disabled by default, which turns csrfProtection() into a no-op on every state-changing admin request, and it does not send the csrf_token hidden field in admin forms. Because administrator authentication is cookie-only and no CSRF token is enforced, an unauthenticated attacker can induce a logged-in administrator's browser to issue a forged content-save request with a text payload containing a scripting marker. The marker is stored verbatim into content/content.php; on every subsequent page view evaluate_cmsimple_scripting() (functions.php) executes the marker body with PHP eval() — for all visitors, including unauthenticated ones. This yields persistent remote code execution on the web server.
Published: 2026-09-22
Score: n/a
EPSS: n/a
KEV: No
Impact: Remote Code Execution
Action: Immediate Patch
AI Analysis

Impact

CMSimple 5.24 ships with Cross‑Site Request Forgery protection disabled by default, turning the csrfProtection() function into a no‑op on every administrative request and omitting the csrf_token field from admin forms. Because authentication relies solely on cookies and no token is required, an attacker who can cause a logged‑in administrator to visit a malicious page can forge a content‑save request containing arbitrary text. This text is stored verbatim in content/content.php and later executed on every page view via evaluate_cmsimple_scripting(), which calls PHP eval() on the stored marker. The result is persistent remote code execution on the web server for all visitors, including unauthenticated users.

Affected Systems

The vulnerable product is the CMSimple content management system, version 5.24. No other products or versions are reported.

Risk and Exploitability

The knowledge of this flaw indicates a high‑impact condition with potential for complete server compromise. The EPSS score is not available, and the vulnerability is not listed in the CISA KEV catalog, so the current exploitation probability is uncertain, but the presence of an active remote code execution vector makes the risk significant. The attack requires inducing a logged‑in administrator to load a malicious page, which can be achieved through social engineering or compromised external sites; once the forged request is sent, the stored code will execute on all subsequent page loads, giving the attacker persistent control.

Generated by OpenCVE AI on September 22, 2026 at 20:50 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade CMSimple to a release that enforces CSRF protection and sanitizes input before evaluation.
  • If an upgrade is not immediately possible, enable CSRF protection in the CMSimple configuration to require a valid token on all state‑changing admin requests.
  • Remove or replace the call to eval() in evaluate_cmsimple_scripting() with a safer rendering mechanism, or comment it out to prevent execution of stored content.

Generated by OpenCVE AI on September 22, 2026 at 20:50 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 22 Sep 2026 21:15:00 +0000

Type Values Removed Values Added
Title CMSimple 5.24 Persistent Remote Code Execution from Disabled CSRF Protection
Weaknesses CWE-352
CWE-94

Tue, 22 Sep 2026 20:45:00 +0000

Type Values Removed Values Added
First Time appeared Cmsimple
Cmsimple cmsimple
Vendors & Products Cmsimple
Cmsimple cmsimple

Tue, 22 Sep 2026 19:45:00 +0000

Type Values Removed Values Added
Description CMSimple 5.24 ships with CSRF protection disabled by default, which turns csrfProtection() into a no-op on every state-changing admin request, and it does not send the csrf_token hidden field in admin forms. Because administrator authentication is cookie-only and no CSRF token is enforced, an unauthenticated attacker can induce a logged-in administrator's browser to issue a forged content-save request with a text payload containing a scripting marker. The marker is stored verbatim into content/content.php; on every subsequent page view evaluate_cmsimple_scripting() (functions.php) executes the marker body with PHP eval() — for all visitors, including unauthenticated ones. This yields persistent remote code execution on the web server.
References

Subscriptions

Cmsimple Cmsimple
cve-icon MITRE

Status: PUBLISHED

Assigner: mitre

Published:

Updated: 2026-09-22T19:29:21.204Z

Reserved: 2026-09-10T00:00:00.000Z

Link: CVE-2026-88418

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-22T20:17:10.960

Modified: 2026-09-22T20:17:10.960

Link: CVE-2026-88418

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-22T21:00:16Z

Weaknesses
  • CWE-352

    Cross-Site Request Forgery (CSRF)

  • CWE-94

    Improper Control of Generation of Code ('Code Injection')