Severity by source
AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N
Primary rating from Vendor (GitHub_M) · only source for this CVE.
CVSS VectorVendor: GitHub_M
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N
Lifecycle Timeline
2DescriptionCVE.org
e107 is a content management system (CMS). Prior to 2.3.5, e107 CMS does not properly enforce CSRF token validation on comment moderation actions. The problem comes down to how session_handler::check() handles CSRF tokens. Instead of requiring a token on every state-changing request, it only validates the token if one happens to be present. If there is no token at all, the check is skipped entirely. This vulnerability is fixed in 2.3.5.
AnalysisAI
CSRF protection bypass in e107 CMS prior to 2.3.5 allows unauthenticated remote attackers to perform unauthorized comment moderation actions by tricking an authenticated user into visiting a malicious page. The root flaw is in session_handler::check(), which skips CSRF token validation entirely when no token is submitted, rather than rejecting the tokenless request - effectively making CSRF protection opt-in from the attacker's perspective. A proof-of-concept exists per SSVC data; the vulnerability is not listed in CISA KEV and carries a very low EPSS score of 0.01% (3rd percentile), indicating limited observed exploitation in the wild.
Technical ContextAI
e107 is an open-source PHP content management system (cpe:2.3:a:e107inc:e107:*:*:*:*:*:*:*:*). The vulnerability is classified as CWE-285 (Improper Authorization), reflecting that the access control decision on state-changing comment moderation endpoints does not reliably enforce identity verification. The CSRF token mechanism in session_handler::check() is conditionally evaluated: it validates a token only if one is present in the request. An attacker-crafted request that omits the token entirely bypasses this check, as the absence of a token is treated as equivalent to a valid token rather than as an error. This is a well-known anti-pattern in CSRF defense implementations and represents a logical control gap rather than a memory corruption or injection flaw.
RemediationAI
Upgrade to e107 version 2.3.5, which contains the vendor-released fix for this vulnerability as confirmed by the GitHub advisory GHSA-m4hh-m278-jwg5. If an immediate upgrade is not possible, a compensating control is to restrict access to comment moderation endpoints at the application or web server layer (e.g., require VPN or IP allowlist for admin paths), which reduces the attack surface for CSRF by limiting who can reach the vulnerable endpoints - trade-off is operational friction for legitimate moderators. Additionally, ensuring the SameSite=Strict or SameSite=Lax cookie attribute is set on session cookies can mitigate CSRF in modern browsers, though this is a browser-enforced control and not a substitute for server-side token enforcement.
e107 CMS 3.2.1 has multiple XSS vulnerabilities in news comments that allow executing arbitrary JavaScript. Rated CVSS 9
usersettings.php in e107 through 2.3.0 lacks a certain e_TOKEN protection mechanism. Rated high severity (CVSS 8.8), thi
e107 2.1.8 has CSRF in 'usersettings.php' with an impact of changing details such as passwords of users including admini
e107 CMS version 3.2.1 contains a critical file upload vulnerability that allows authenticated administrators to overrid
e107 2.1.1 allows SQL injection by remote authenticated administrators via the pagelist parameter to e107_admin/menus.ph
e107 CMS version 3.2.1 contains a file upload vulnerability that allows authenticated administrative users to bypass upl
e107 CMS version 3.2.1 contains a file upload vulnerability that allows authenticated administrators to override server
e107_web/js/plupload/upload.php in e107 2.1.8 allows remote attackers to execute arbitrary PHP code by uploading a .php
Cross-site request forgery (CSRF) vulnerability in e107_admin/newspost.php in e107 1.0.1 allows remote attackers to hija
Multiple cross-site request forgery (CSRF) vulnerabilities in e107_admin/download.php in e107 1.0.2 allow remote attacke
e107 2.1.8 has XSS via the e107_admin/users.php?mode=main&action=list user_loginname parameter. Rated medium severity (C
SQL injection in e107 CMS version 2.4.0 (and earlier) lets unauthenticated remote attackers inject arbitrary SQL through
Same weakness CWE-285 – Improper Authorization
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-31851