Saltar al contenido
Ciberseguridad

Vulnerabilidades de PHP: cómo saber si tu sitio está expuesto y qué hacer

Para saber si te afecta una vulnerabilidad de PHP, fijate qué versión corre tu sitio y si todavía recibe parches de seguridad. Si no, actualizá: es la medida que más riesgo reduce.

Por Franco Azari4 min de lectura

Si te enteraste de una vulnerabilidad de PHP y querés saber si te afecta, hacé esto: confirmá qué versión de PHP usa tu sitio y fijate si esa versión sigue recibiendo parches de seguridad. Si está fuera de soporte, o es una versión vieja de una rama soportada, tenés que actualizar. Lo demás es detalle.

Qué significa que PHP tenga una vulnerabilidad

PHP es el lenguaje sobre el que corren WordPress, WooCommerce, Joomla, Drupal, PrestaShop y una enorme cantidad de sistemas a medida. Cuando aparece una falla en el intérprete, se publica con un identificador CVE y se corrige en una versión nueva. Hasta que no instalás esa versión, tu sitio sigue siendo vulnerable, aunque no hayas tocado nada.

Hay que distinguir dos cosas que se mezclan seguido:

  • Fallas en PHP mismo: se arreglan actualizando PHP en el servidor.
  • Fallas en la aplicación o en un plugin: el código que corre sobre PHP está mal escrito (inyección SQL, subida de archivos sin validar, etc.). Se arreglan actualizando ese software.

En la práctica, la mayoría de los sitios hackeados caen por lo segundo. Pero las dos cosas pasan, y las dos se resuelven con el mismo hábito: mantener todo al día.

Un caso real: CVE-2024-4577

En 2024 se publicó una falla crítica de inyección de argumentos en PHP cuando se ejecuta en modo CGI sobre Windows con ciertas configuraciones regionales (en particular páginas de códigos de idiomas como chino o japonés). Permitía ejecutar código de forma remota sin autenticarse, y se empezó a explotar activamente a los pocos días de conocerse. Se corrigió en las versiones 8.1.29, 8.2.20 y 8.3.8.

Es un buen ejemplo porque muestra tres cosas. Primero, no afectaba a todo el mundo: dependía del sistema operativo y de cómo estaba configurado PHP. Segundo, los atacantes escanean internet buscando sistemas sin parchear apenas sale el aviso. Tercero, instalaciones como XAMPP en Windows, que mucha gente deja expuestas en servidores de prueba, estaban entre las más comprometidas.

Cómo saber qué versión de PHP tenés

Tenés varias formas, según cómo esté montado tu sitio:

  1. En el panel de control de tu hosting, buscá la sección de versión de PHP o de configuración PHP.
  2. En WordPress, entrá a Herramientas > Salud del sitio > Información y abrí la sección Servidor.
  3. Si tenés acceso por SSH, ejecutá php -v en la terminal.
  4. Si manejás el servidor, revisá también qué versión usa cada sitio: a veces el servidor tiene una y el sitio otra.

Con ese número en mano, comparalo con la página oficial de versiones soportadas (php.net/supported-versions.php). Ahí figura hasta cuándo cada rama recibe correcciones.

Versiones sin soporte: el riesgo silencioso

Cuando una rama de PHP llega al fin de su vida útil, deja de recibir parches, incluso para fallas críticas. PHP 7.4 y PHP 8.0, por ejemplo, ya están fuera de soporte. Si tu sitio corre en alguna de ellas, cualquier vulnerabilidad nueva queda sin corregir, y los atacantes lo saben.

Este es el escenario más común en sitios de pymes: un desarrollo hecho hace años, que "anda bien", y al que nadie quiere tocar por miedo a que se rompa. El problema es que ese miedo tiene un costo que crece con el tiempo.

Cómo actualizar sin romper el sitio

Subir de versión de PHP puede generar incompatibilidades, sobre todo con plugins o temas abandonados. Para hacerlo con criterio:

  1. Hacé un backup completo de archivos y base de datos, y comprobá que se pueda restaurar.
  2. Probá en un entorno de staging (una copia del sitio) antes de tocar producción.
  3. Actualizá primero el CMS, los plugins y el tema a sus últimas versiones.
  4. Cambiá la versión de PHP y revisá el log de errores. Los avisos de funciones obsoletas (deprecated) te dicen qué código hay que corregir.
  5. Si algo falla, volvé a la versión anterior, resolvé el problema puntual y reintentá.

Si un plugin no funciona con una versión soportada de PHP y su desarrollador dejó de mantenerlo, buscá un reemplazo. Dejarlo es apostar a que nadie encuentre su falla.

Otras medidas que suman

  • Desactivá la exposición de la versión de PHP en los encabezados (expose_php en off).
  • Deshabilitá funciones peligrosas que no uses, como exec o system, si tu aplicación no las necesita.
  • Aplicá permisos mínimos en archivos y carpetas, y no dejes directorios de subida con permiso de ejecución.
  • Eliminá plugins, temas y entornos de prueba que ya no usás.
  • Poné un WAF o firewall de aplicación delante del sitio para filtrar ataques conocidos mientras actualizás.
  • Activá actualizaciones automáticas de seguridad en el CMS cuando sea posible.

Qué hacer si sospechás que ya te vulneraron

Si notás archivos que no reconocés, redirecciones raras, usuarios administradores nuevos o un aumento inusual de recursos, no te limites a actualizar. Poné el sitio en mantenimiento, cambiá todas las contraseñas (panel, FTP, base de datos, CMS), restaurá desde un backup anterior a la intrusión y recién después actualizá. Actualizar sobre un sitio ya comprometido no saca al atacante.

Un último dato sobre el hosting

Parte de este trabajo depende de tu proveedor: que te deje elegir la versión de PHP por sitio, que mantenga el servidor parcheado y que tengas backups a mano. En Nubila IT, nuestros planes de hosting incluyen panel de control y soporte, y si querés revisar qué versión de PHP te conviene para tu proyecto, podés consultarnos.

CompartirWhatsAppLinkedInX

Comentarios

Todavía no hay comentarios. Estrenalo vos.

Dejá tu comentario

Los comentarios se publican después de una revisión. No publicamos tu email.

¿Te quedó una duda?

Escribinos y la respondemos. Hosting, dominios, desarrollo y seguridad, todo en el mismo lugar.

Tu compra

Carrito