e107: Unsafe deserialization in install.php allows unauthenticated RCE via POP chain
What fixes it
No source in this snapshot names a fixed version. The vendor advisories under References are the place to check.
Description
e107 is a content management system (CMS). Prior to 2.3.7, install.php decodes the attacker-controlled previous_steps POST parameter and passes it to unserialize() at file scope and again in the e_install constructor without restricting allowed classes. The installer remains accessible after a normal installation, and a crafted object graph using the bundled GuzzleHttp\Psr7\PumpStream class can flow through paths.hash into site_path, where string coercion invokes an attacker-controlled callable. An unauthenticated attacker who can reach install.php can therefore execute arbitrary PHP functions with the web server process's privileges, leading to full server compromise. This issue is fixed in version 2.3.7.
Text from CVE List
Affected versions 1
- e107affected: < 2.3.7CVE List
References 4
- github.com/e107inc/e107/commit/5d6d649e8cf01854d6024d07997c2449fdd75f24Fixvia CVE List
- github.com/e107inc/e107/commit/6c404295213952aedb9b3689be19dd4c7ba550b0Fixvia CVE List
- github.com/e107inc/e107/releases/tag/v2.3.7Fixvia CVE List
- github.com/e107inc/e107/security/advisories/GHSA-c8h6-wpj3-4cr8Exploitvia CVE List