Skip to main content

e107 CMS CVE-2026-57859

| EUVDEUVD-2026-51123 HIGH
Deserialization of Untrusted Data (CWE-502)
2026-07-30 VulnCheck
7.7
CVSS 4.0 · Vendor: VulnCheck
Share

Severity by source

Vendor (VulnCheck) PRIMARY
7.7 HIGH
CVSS:4.0/AV:N/AC:H/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
6.6 MEDIUM

AC:H and PR:H because exploitation requires prior out-of-band database write access, a high-privilege prerequisite; full C/I/A loss follows from arbitrary PHP eval execution.

3.1 AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:H/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
High
Privileges Required
Low
User Interaction
None
Scope
X

Lifecycle Timeline

3
Source Code Evidence Fetched
Jul 30, 2026 - 14:51 vuln.today
Analysis Generated
Jul 30, 2026 - 14:51 vuln.today
CVE Published
Jul 30, 2026 - 13:41 cve.org
HIGH 7.7

DescriptionCVE.org

e107 prior to version 2.3.8 contains a code execution vulnerability in the e_array deserialization handler that allows an attacker with out-of-band database write access to execute arbitrary PHP code by storing a crafted payload in the user_prefs column. The e_array::unserialize() function in e107_handlers/core_functions.php performs only a prefix check for the string 'array' before passing the stored value to eval(), causing automatic PHP execution whenever the affected user's preferences are materialized through e_user_pref::load().

AnalysisAI

Second-order PHP code execution in e107 CMS before version 2.3.8 lets an attacker who already holds out-of-band write access to the database plant a crafted payload in the user_prefs column, which is later fed to eval() when that user's preferences load. The e_array::unserialize() handler validates only that the stored string begins with 'array' before evaluating it, so any account whose preferences are materialized triggers arbitrary PHP execution. Reported by VulnCheck with a vendor patch available; no public exploit identified at time of analysis, and it is not listed in CISA KEV.

Technical ContextAI

e107 is an open-source PHP/MySQL content management system. The flaw sits in e_array::unserialize() in e107_handlers/core_functions.php, which reconstructs stored preference arrays. Instead of a safe parser, it performs a naive prefix check for the literal string 'array' and then passes the value directly to PHP's eval(), so the serialized preference blob is treated as executable code. This maps to CWE-502 (Deserialization of Untrusted Data): the deserialization routine trusts attacker-influencable stored data. Execution is automatic and second-order - it occurs whenever e_user_pref::load() materializes the affected user's preferences (user_prefs column), decoupling payload injection from payload execution. Affected product per CPE is cpe:2.3:a:e107inc:e107 across all versions prior to 2.3.8.

RemediationAI

Upgrade to e107 2.3.8 or later, which contains the vendor fix referenced in commit 40e73cefde85b32e1227dfac9956a5cb87046277 (Patch available per vendor advisory; see GHSA-568x-w5qj-vr7c). Because exploitation depends on attacker-controlled writes to the user_prefs column, the strongest compensating controls until patching center on database exposure: restrict and audit direct database write access, ensure the CMS database account is not shared with other internet-facing services, and hunt for and remediate any SQL injection or exposed admin/DB paths that could provide the out-of-band write, since those are the realistic injection vectors. As a detective measure, inspect existing user_prefs values for entries beginning with 'array' that contain PHP code and purge them. Note the trade-off that tightening DB permissions can break plugins or integrations that legitimately write preference data, so validate in staging first.

More in PHP

View all
CVE-2019-11043 CRITICAL POC
9.8 Oct 28

In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it

CVE-2012-1823 CRITICAL POC
9.8 May 11

sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not

CVE-2016-1555 CRITICAL POC
9.8 Apr 21

(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear

CVE-2018-11138 CRITICAL POC
9.8 May 31

The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by

CVE-2024-11680 CRITICAL POC
9.8 Nov 26

ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C

CVE-2025-49113 CRITICAL POC
9.9 Jun 02

Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au

CVE-2017-9841 CRITICAL POC
9.8 Jun 27

Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c

CVE-2025-0108 HIGH POC
8.8 Feb 12

Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers

CVE-2021-25298 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2021-25296 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2013-4983 CRITICAL POC
10.0 Sep 10

The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows

CVE-2023-6553 CRITICAL POC
9.8 Dec 15

The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1

Share

CVE-2026-57859 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy