Portada! Se pudrió todo: Hackean el GIT de PHP

1617107691412.png

No hackearon a un sitio del gobierno en Wordpress. No hackearon unos blogs en photolog. No hackearon nada en realidad, pero lograron subir un commit malicioso en extremo al código fuente de PHP. Afírmate.


Cuenta la leyenda que cuando Chuck Norris aprendió a programar no conocía ningún comando así que ingresó palabras al azar y el programa compiló. Y eso que PHP nunca ha sido un lenguaje compilado. Es más, cuando Chuck Norris inventó el comando `die` el core inventó el comando `exit` y por eso son la misma cosa.

Como sea, toda la mala fama que tiene PHP no es porque PHP sea un lenguaje malo o mal hecho. Los mal hechos somos nosotros, sólo que no nos damos cuenta. No es culpa de nadie. Bueno quizá... aunque en una proporción... no sé. Naaah, no es culpa de nadie. Broma. Es culpa de Wordpress. Wordpress y el Plátano que creó una escasez artificial y todos caímos presa de su ojo frío y calculador.

Pero, hablando en serio, y no porque el plátano haya mandado gente a pegarme: Es una época muy distinta para pelear guerras santas en nombre de PHP básicamente por 3 razones:

1. Compilador en tiempo real o Just In Time Compiler. (No tengo mejor traducción)
1. El lenguaje contra el cual se compara ya no es JAVA ni C++,
2. La comunidad PHP está viviendo su mejor época (a.k.a. Taylor Otwell se forra)
3. Algunos de los referentes me contestan mis peladas de cable en Twitter así que si alguien me llega a rebatir puedo pedir ayuda
5. A nadie le importa que los números de la lista no cuadren

Y, sin embargo, ayer ocurrió un incidente inédito. Los commiters de PHP estaban revisando el código, como todos los días, comparando sus predicciones para ver si Tom Cruise mataría al viejo de Robocop, el Chino Ríos se casaría con la tigresa del oriente, etc. Y en eso ven pasar un hash que no reconocían. Y el efecto de ese commit no era poner una marquesina deslizante en el tope de tu página (*), ni un gif animado de hombres trabajando.


que hace un commit como tú en un repo como este hahah esa frase vuelve locas a las nenas

heeey que hace un commit como tú en un repo como este! jajaj esa frase las vuelve locas
Era algo mucho más simple: Si un request viene con header `USER_AGENTT` (sic) comenzando por `zerodium` el compilador procede a ejecutar lo que venga en ese header. Si dice "format C:" aquí se termina mapochovalley. Momemto, me soplan que eso ya ocurrió. (@Zuljin preocúpate de que @jogabar le avise a @zuirdj).

Afortunadamente había un robot de turno que detectó el problema y lo reportó, lo cual ha causado una ola que no sabría si calificar de guerra santa, linchamiento o agudo golpe publicitario.

Te dejamos con algunos enlaces de incidentes similares de otros lenguajes, para que no crean que PHP es el único con problemas:

1.- Node: https://iamakulov.com/notes/npm-malicious-packages/
2. Python 3: https://www.zdnet.com/article/two-malicious-python-libraries-removed-from-pypi/
3. C# https://docs.microsoft.com/en-us/dotnet/csharp/






(*) Si sonreíste con esto estás a tres cuartos del camino de jubilar


Service Pack 1: este malware nunca se pasó a producción. Fue un buen intento. Por favor no nos manden videos cochinos preguntando si son contagiosos. No tenemos cómo saberlo.

Service Pack 2: nos escribe una señora de Osorno preguntando si es verdad que por esta vulnerabilidad su hijo se atrasó dos años en ingeniería en la Santa en Valpo. Señora la están cuenteando, y mamá déjame estudiar que viene la semana caturra.

Service Pack 3: Si este malware hubiera llegado a ver la luz no sería compatible con wordpress.
 

Archivo adjunto

  • 1617107653662.png
    1617107653662.png
    264,2 KB · Visitas: 162
Última modificación:

Zuljin

Fundador
Miembro del Equipo
Fundador
ADMIN
Se incorporó
15 Enero 2004
Mensajes
11.721
Ayer nos llegó el aviso de la red de seguridad del gobierno. "Guarda con la versión 8.1 de php" nos decía.
 

unreal4u

I solve problems.
Miembro del Equipo
ADMIN
Se incorporó
2 Octubre 2005
Mensajes
13.442
Sólo para aclarar: fueron sólo dos commits, que no llegó ni de cerca a ser un release.

Por lo demás, las medidas que tomarán eliminarán este problema en el futuro, al parecer aprovecharon una vulnerabilidad en la máquina que alojaba el repositorio, que de paso no tiene nada que ver con php ni con cuentas individuales hackeadas.

En fin, viva el software libre que permite que estas cosas sean detectadas a tiempo :)

Saludos.
 

Amenadiel

Ille qui nos omnes servabit
Fundador
OVERLORD
REPORTERO
Se incorporó
15 Enero 2004
Mensajes
18.398
Dos commits y uno con la cuenta de Rasmus, que significa que nunca hubiera visto la luz si dependiera de él, porque el release perfecto es el que no se hace.

Igual me llama la atención que tengan el código en un servidor propio. No como pioneros de la tolerancia a fallos como Postgres, MariaDB y Ubuntu que bueno... en realidad está todo super artesanal.

En fin. Las librerías que tengo publicadas fueron como una banda de mariachis gritando Ayayaaay cuando dejé de soportar PHP 5.6. En StackOverflow todavía hay preguntas del tipo: "tengo php5.3 y requiero un ejemplo para instalar laravel..."
 

unreal4u

I solve problems.
Miembro del Equipo
ADMIN
Se incorporó
2 Octubre 2005
Mensajes
13.442
Igual me llama la atención que tengan el código en un servidor propio. No como pioneros de la tolerancia a fallos como Postgres, MariaDB y Ubuntu (…)

Nunca entendí esa wea… no tengo idea pq con la existencia de plataformas gratuitas como github y gitlab alguien quería hostear esto por su propia cuenta. Yo lo hice tb hace mucho tiempo atrás con gitolite y me alegro de que en la empresa finalmente decidieran hostearlo con gitlab pq si bien es cierto el repositorio estaba (creo) bien protegido, es también toda la cadena hacia arriba la que tiene que estar protegida tb.

En fin, sus razones en ese entonces deben haber tenido y me alegro que por lo menos exista la consciencia y la confianza en dejarle la seguridad a una empresa que se dedica justamente a ese punto.

Saludos.
 

galansinchance

enajenao
Se incorporó
3 Enero 2006
Mensajes
7.423
Nunca entendí esa wea… no tengo idea pq con la existencia de plataformas gratuitas como github y gitlab alguien quería hostear esto por su propia cuenta. Yo lo hice tb hace mucho tiempo atrás con gitolite y me alegro de que en la empresa finalmente decidieran hostearlo con gitlab pq si bien es cierto el repositorio estaba (creo) bien protegido, es también toda la cadena hacia arriba la que tiene que estar protegida tb.

En fin, sus razones en ese entonces deben haber tenido y me alegro que por lo menos exista la consciencia y la confianza en dejarle la seguridad a una empresa que se dedica justamente a ese punto.

Saludos.
Wn!! nosotros ni siquiera teníamos control de versiones decente hace 6 años atrás, estaba todo metido en una carpeta compartida y con sistemas de deploy artesanales (puros shell scripts), costó un mundo a que todos los equipos se pasaran a GIT.

Empecé todo de cero el 2018 y aproveché de implementar todo lo que siempre quise hacer, Gitlab, CI/CD y ahora vamos en pruebas automatizadas. Nos ha cambiado la vida.

Recuerdo haber visto unos videos de cómo trabajaban en Borland en el año 2000 y los tipos tenían todo controlado, aunque con herramientas propias haciendo en esa época, lo que es la panacea ahora. Imagino que saltar de eso que tienen y que llevan años a un servicio como lo es ahora no debe ser tan sencillo, tanto tecnológica como culturalmente.
 
Subir