Calif Research ha identificado una vulnerabilidad crítica de ejecución remota de código (RCE) en PHP, afectando desde la versión 5.4.0 hasta las actuales. El fallo permite a un atacante obtener control total sobre el servidor sin necesidad de autenticación previa, explotando errores de gestión de memoria y estados residuales tras interrupciones fatales del intérprete.
El mecanismo de explotación se basa en dos factores principales: la capacidad de exceder el límite de memoria (memory_limit) mediante solicitudes HTTP malformadas que evaden las restricciones de post_max_size, y puntos específicos en el código fuente donde el intérprete puede dejar un estado inconsistente si se interrumpe antes de completar la limpieza. En particular, el análisis del código reveló que la función _zend_hash_str_add_or_update_i incrementa el contador de elementos antes de asignar la clave, lo que permite que el sistema de desmontaje consuma bytes de memoria obsoletos como buckets vivos. Esto crea una ventana de ejecución remota en el código nativo.
La investigación confirmó la explotabilidad en múltiples aplicaciones populares, incluyendo WordPress 7.1.2, Drupal 11.4.3, Joomla 6.1.4, MediaWiki 1.46.2, Roundcube 1.7.4, Magento 2.4.9, phpMyAdmin 5.2.3, Nextcloud 35.0.1, Laravel 13.11, Symfony 8.1 y WHMCS. Los investigadores detallan que la vulnerabilidad es explotable bajo configuraciones predeterminadas y depende de la interacción entre el SAPI (como mod_php o PHP-FPM) y la forma en que se manejan las solicitudes multipart. Este hallazgo subraya la importancia de gestionar correctamente los límites de memoria y los estados del intérprete en aplicaciones web modernas.
