Inicio de zonavirus, antivirus
SATINFO

Nuevo 0-day que afecta a versiones antiguas de Joomla!

msc hotline sat
domingo, 13 de octubre de 2019

Nuevo 0-day que afecta a versiones antiguas de Joomla!







Ha sido encontrada una nueva vulnerabilidad en versiones antiguas de Joomla! que permitiría ejecutar código remoto a partir de una inyección de objetos en PHP.



SE RECOMIENDA INSTALAR NUEVA ACTUALIZACION NO VULNERABLE



La vulnerabilidad ha sido descubierta por el investigador Alessandro Groppo de Hacktive Security, y afecta a las versiones comprendidas entre la 3.0.0 y la 3.4.6. A pesar de no ser versiones actuales, es importante tener en cuenta que aún hay muchos sitios web que utilizan estas versiones antiguas de este CMS por cuestión de compatibilidad con temas y plugins.



Este fallo de seguridad se podría aprovechar a través de una inyección de objetos en PHP. El mejor escenario para reproducir este error sería el login de Joomla!, ya que los valores introducidos en los campos de usuario y contraseña se almacenan en un objeto serializado de manera consecutiva en una cookie de sesión. Y a su vez, los objetos definidos en la cookie de Joomla! se almacenan en su base de datos, valiéndose de dos funciones que permiten operar sobre la base de datos con dicho objeto: read() y write().



Al realizar una acción de lectura o escritura de un objeto en la base de datos, la función correspondiente reemplaza el valor «\00\x2a\x00» por «\0\0\0» en el caso de escritura (en la función write()) o viceversa reemplazando «\0\0\0» por «\00\x2a\x00» en caso de lectura (en la función read()). Estos reemplazos se realizan debido a que las variables $protected tienen el prefijo «\00\x2a\x00» en el objeto serializado pero en MySQL no es posible almacenar Null Bytes.



Este paso es muy importante para realizar con éxito la inyección, ya que si se introduce \0\0\0 en el campo username, a la hora de escribirlo, se guardará tal cual:



s:8:s:"username";s:16:"my\0\0\0username"



Sin embargo al realizar la lectura con la función read(), modificará el valor de los 6 caracteres reduciéndolo a 3:



s:8:s:"username";s:16:"myN*Nusername"

(indica string de 16 caracteres pero hay 13 caracteres)



Al tener control sobre usuario y contraseña, que son campos consecutivos en el objeto serializado como se observa en la siguiente imagen, es posible realizar un desbordamiento en el primer campo (usuario) dejando el segundo campo libre para inyectar el código del exploit en forma de objeto que daría paso a la ejecución remota de código.





Alessandro explica cada paso a realizar en el blog de hacktivesecurity. Además hace alusión al CVE-2015-8562, que afecta a las mismas versiones de Joomla!, aunque remarca como punto positivo que es independiente de las versiones de PHP en el servidor









Ver información original al respecto en Fuente>

https://unaaldia.hispasec.com/2019/10/nuevo-0day-que-afecta-a-versiones-antiguas-de-joomla.html

RSS Noticias AntivirusRSS Noticias Articulos AntivirusRSS Articulos RSS Descargas AntivirusRSS Descargas

>> Compartir

comparte con tus amigos, zonavirus.com
Redes Sociales en zonavirus

>> FaceBook

© 1998-2019 - pym:sol Aviso Legal | Política de Privacidad | Política de Cookies | Contacto