Vulnerabilidad crítica en la biblioteca PHP: amenaza para millones de sitios web

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

Vulnerabilidad crítica en una popular biblioteca PHP: lo que debe saber el desarrollador



En el ecosistema de PHP ocurrió un evento que no dejó indiferente a ningún desarrollador web. Investigadores de seguridad descubrieron una vulnerabilidad crítica en una de las bibliotecas más populares para el procesamiento de imágenes: Intervention Image. Esta biblioteca se utiliza en miles de proyectos en Laravel, Symfony y otros frameworks, incluyendo CMS, tiendas en línea y sistemas de gestión de contenido.



La esencia del problema

La vulnerabilidad recibió el identificador CVE-2024-XXXX y una puntuación de 9.8 sobre 10 en la escala CVSS. Permite a un atacante ejecutar código remoto (RCE) en el servidor a través de una solicitud especialmente diseñada al procesador de imágenes. El problema radica en un filtrado insuficiente de los datos de entrada al utilizar el método make() con URL externas.



  • Versiones en riesgo: Intervention Image 2.x y 3.x hasta la versión 3.7.1 (para 3.x) y 2.7.2 (para 2.x).
  • Vector de ataque: envío de una URL maliciosa o un archivo con metadatos manipulados.
  • Consecuencias: control total del servidor, robo de datos, instalación de backdoors.
  • Dificultad de explotación: baja: el ataque puede ser realizado incluso por un hacker novato.


¿Cómo funciona?

La biblioteca permite cargar imágenes por URL y procesarlas. Debido a la falta de una validación estricta de protocolos y rutas, un atacante puede enviar un enlace a un script PHP o un archivo con código malicioso. Al procesar dicha "imagen", la biblioteca ejecuta el código PHP incrustado en los metadatos (por ejemplo, en las etiquetas EXIF de JPEG o PNG). Como resultado, el atacante obtiene acceso al shell del servidor.



¿Quién está en riesgo?

Están en riesgo cualquier proyecto que:

  • Utilice Intervention Image para cargar avatares, galerías, vistas previas.
  • Permita a los usuarios especificar enlaces externos a imágenes.
  • No haya actualizado la biblioteca en más de 3 meses.
  • Funcione en hosting compartido sin aislamiento adicional.


Acciones inmediatas

El equipo de desarrolladores de Intervention Image ya ha lanzado parches. Para proteger su proyecto, siga estos pasos:

  1. Actualice la biblioteca a la versión 3.7.1 o 2.7.2 a través de Composer: composer update intervention/image.
  2. Revise los registros en busca de solicitudes sospechosas a los procesadores de imágenes (URL extrañas, archivos dañados).
  3. Limite la carga por URL: permita solo dominios de confianza o desactive temporalmente esta función.
  4. Configure un WAF (Web Application Firewall) para bloquear intentos típicos de RCE.
  5. Pruebe la funcionalidad después de la actualización en un servidor de staging.


Conclusiones para el desarrollador PHP

Esta vulnerabilidad es un recordatorio más de que incluso las bibliotecas probadas pueden contener errores críticos. La actualización regular de dependencias, la auditoría de código y el uso de herramientas de análisis estático (como PHPStan o Psalm) deberían ser la norma. Si su proyecto procesa imágenes o archivos de usuario,

Recommended Libraries