CVE-2026-57859 e107 Second-Order Code Execution via eval()-Based Deserialization in e_array::unserialize()
Attackers with database write access can execute arbitrary PHP code via unsafe deserialization in e107 CMS user preferences.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- None listed
What is CVE-2026-57859?
CVE-2026-57859 is a high-severity code injection vulnerability in e107inc e107, published on 30 Jul 2026. Any signed-in user can exploit it over the network, with no action from the victim.
Official description
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().
Weakness: CWE-502
Which versions are affected by CVE-2026-57859?
How do I fix CVE-2026-57859?
No fix has been published for CVE-2026-57859 yet. Limit exposure of the affected software until one is available.
Upgrade, and never evaluate templates, expressions or code built from user input. More about Code injection.
Is CVE-2026-57859 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-57859 exists.
Sources
Also known as GHSA-568x-w5qj-vr7c.