Detectada Una Puerta Trasera En El Repositorio Oficial De PHP
El repositorio oficial de Git de PHP ha sufrido un ataque en la cadena de suministro del software que permitiría la ejecución remota de código mediante una cabecera HTTP especial.
El pasado 28 de marzo, saltó la alarma en el equipo de desarrollo de PHP al ver que dos confirmaciones en el código fuente (o commits) del repositorio php-src incluían código malicioso.
Los atacantes firmaron dichos commits haciéndose pasar por miembros conocidos del proyecto, Rasmus Lerdorf (creador del lenguaje) y Nikita Popov (desarrollador en la empresa Jetbrains). Dichos indicios llevan a pensar que el servidor Git de PHP podría haber sido vulnerado.
El commit malicioso, aparentemente firmado por Rasmus Lerdorf, parecía indicar que realizaba una corrección tipográfica, una práctica habitual y rutinaria en el mantenimiento de software y que a priori no levanta sospechas ya que es un cambio que no debería tener impacto en el comportamiento del lenguaje; pero al revisarlo se ve que que el fichero actualizado habilitaría la ejecución arbitraria de código remoto si el valor de la cabecera HTTP “User-Agentt” (con doble -t al final) comenzaba con “zerodium”.
Posteriormente este commit fue revertido por Nikita Popov (@nikic), pero horas más tarde el código volvía a actualizarse deshaciendo este último cambio y restaurando el código troyanizado. En este caso la firma suplantaba al propio Popov.
Un aspecto llamativo que se puede apreciar es la mención a Zerodium en la función zend_eval_string
. Zerodium es una plataforma de compra de exploits y vulnerabilidades de la que ya hemos hablado en anteriores una-al-dia. Sin embargo; actualmente no hay evidencia de que la empresa esté involucrada en este incidente. A este respecto se ha pronunciado en redes sociales Chaouki Bekrar, CEO de Zerodium, para negar dicha relación.
Otros investigadores han comprobado el comportamiento explotable de esta puerta trasera y mencionan posibles riesgos:
Para tomar perspectiva sobre el impacto que tendría una puerta trasera de estas características, hay que considerar que PHP es el lenguaje que utiliza en torno al 79% del total de sitios que visitamos. De este porcentaje, el uso de PHP 8 es actualmente ínfimo ya que la versión 8.0 (0.1%) fue publicada en noviembre de 2020. Las versiones 7 (63.6%) y 5 (36%) son a día de hoy las más utilizadas con amplia diferencia.
Popov ha publicado una nota informando de que han trasladado su actividad al repositorio de PHP en GitHub, que anteriormente simplemente servía de mirror. De esta manera, solamente usuarios pertenecientes a la organización PHP en GitHub tendrían permisos para actualizar el código de ahora en adelante. En un comunicado a BleepingComputer, Popov añade que estos cambios fueron realizados a la rama de desarrollo de PHP 8.1, cuya fecha de lanzamiento está prevista para final de año; y que los commits maliciosos fueron detectados pocas horas después en una rutina de revisión de código.
Más información:
PHP’s Git server hacked to add backdoors to PHP source code https://www.bleepingcomputer.com/news/security/phps-git-server-hacked-to-add-backdoors-to-php-source-code/
PHP’s Git Server Hacked to Insert Secret Backdoor to Its Source code https://thehackernews.com/2021/03/phps-git-server-hacked-to-insert-secret.html
Via: unaaldia.hispasec.com