Descripción
e107 es un sistema de gestión de contenidos (CMS). En versiones anteriores a 2.3.7, install.php decodifica el parámetro POST previous_steps, controlado por el atacante, y lo pasa a unserialize() en el ámbito del archivo y nuevamente en el constructor de e_install sin restringir las clases permitidas. El instalador sigue siendo accesible después de una instalación normal, y un grafo de objetos especialmente manipulado que use la clase incluida GuzzleHttp\Psr7\PumpStream puede fluir a través de paths.hash hacia site_path, donde la conversión a cadena invoca un callable controlado por el atacante. Por lo tanto, un atacante no autenticado que pueda acceder a install.php puede ejecutar funciones PHP arbitrarias con los privilegios del proceso del servidor web, lo que lleva al compromiso total del servidor. Este problema está corregido en la versión 2.3.7.
Qué hacer
Revisa si usas el producto afectado y en qué versión, y aplica la actualización o la mitigación que indique el aviso del fabricante. CISA no ha confirmado que se esté explotando; si eso cambia, esta ficha pasa a «explotada» y te avisamos en el boletín.
Versiones afectadas
- e107 Afectadas: < 2.3.7
Según el registro de la vulnerabilidad en CVE.org, tal como lo publicó el fabricante. Confirma tu versión exacta en el aviso del fabricante.
Referencias
- Referencia en github.comgithub.com/e107inc/e107/security/advisories/GHSA-c8h6-wpj3-4cr8
- Referencia en github.comgithub.com/e107inc/e107/commit/5d6d649e8cf01854d6024d07997c2449fdd75f…
- Referencia en github.comgithub.com/e107inc/e107/commit/6c404295213952aedb9b3689be19dd4c7ba550…
- Referencia en github.comgithub.com/e107inc/e107/releases/tag/v2.3.7
Ver el texto original en inglés (CVE.org)
e107: Unsafe deserialization in install.php allows unauthenticated RCE via POP chain
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.