PHP seguridad: ¿Cómo proteger mis servidores ante vulnerabilidades?

  • Autor Autor robo
  • Fecha de inicio Fecha de inicio
cPanel ya la lanzado los parches y estan todos los servers actualizados de Hosting/Reseller.

rpm -q --changelog ea-php83-php-cli | grep -m1 CVE-2026-109618
url_scanner_ex.c and ext/json/json_scanner.c for the CVE-2026-109618/109619 patch: el7/el8 re2c 0.14.3
Perfecto.

La confusión venía porque al comprobarlo directamente con PHP_VERSION sigue apareciendo PHP 8.3.35 y yo esperaba ver 8.3.36, pero entiendo entonces que cPanel ha aplicado el parche de las CVE mediante backport sobre el paquete de PHP 8.3.35 y que ya está instalado en los servidores de Hosting/Reseller.

Gracias.
 
Perfecto.

La confusión venía porque al comprobarlo directamente con PHP_VERSION sigue apareciendo PHP 8.3.35 y yo esperaba ver 8.3.36, pero entiendo entonces que cPanel ha aplicado el parche de las CVE mediante backport sobre el paquete de PHP 8.3.35 y que ya está instalado en los servidores de Hosting/Reseller.

Gracias.
Los parches estan explicados por cPanel. Utilizamos Cloudlinux. y todos ya sacaron los updates.

 
Ahora sí me queda completamente claro.
No había tenido en cuenta la diferencia entre los paquetes de cPanel EasyApache4 y los de CloudLinux EasyApache4.

Veo en la documentación de cPanel que para CloudLinux aparece ea-php83 8.3.35-2 como versión parcheada, por eso PHP_VERSION continúa mostrando 8.3.35 aunque el paquete ya incluya la corrección.

Gracias por la aclaración y por pasar el enlace.
 
@banahosting.com Hola, entonces solo tengo que entrar a mi semi-dedicado y ponerle la ultima version de php a mis webs?
Saludos!
 
@banahosting.com Hola, entonces solo tengo que entrar a mi semi-dedicado y ponerle la ultima version de php a mis webs?
Saludos!
Siempre es recomendado usar PHP moderno.

Pero las versiones que usamos estan todas Actualizadas con los ultimos parches de seguridad.

Saludos!
 
Quisiera aportar algo a este debate, porque creo que hay una diferencia técnica importante que no se ha aclarado suficientemente.

La respuesta de @banahosting.com de que «cPanel ya fue actualizado» no necesariamente demuestra que las vulnerabilidades CVE-2026-109618 y CVE-2026-109619 estén corregidas en las versiones PHP que utilizan los sitios web alojados.

En nuestras verificaciones con Banahosting, encontramos servidores con CloudLinux, LiteSpeed y EasyApache donde PHP continúa mostrando versiones como 8.2.34, 8.3.35, 8.4.26 y 8.5.11, todas anteriores a las versiones corregidas oficialmente por PHP.

Investigando encontramos que CloudLinux publicó sus propias correcciones mediante backporting, incorporando los parches de seguridad sin cambiar el número de versión que reporta el intérprete.

Por ejemplo, PHP 8.4.26 puede estar corregido mediante el paquete ea-php84-php-common-8.4.26-2.el8.cloudlinux.1.

Esto nos lleva a dos reflexiones:

1. ¿Quién realizó realmente la corrección?

En servidores que utilizan CloudLinux con EA-PHP, la corrección de las versiones PHP utilizadas por los sitios corresponde a los paquetes de CloudLinux. La actualización de cpanel-php84 es distinta y no constituye, por sí sola, evidencia de que el PHP de los dominios esté corregido.

2. ¿Cómo podemos auditar estas actualizaciones?

Aunque el backporting es una práctica válida y utilizada por distribuciones empresariales, genera una dificultad importante para quienes administramos sitios en hosting compartido con Banahosting.

Si PHP continúa identificándose como 8.4.26, ¿cómo podemos demostrar que realmente contiene los parches, especialmente cuando no tenemos acceso root ni podemos consultar los paquetes RPM instalados?

Considero que los proveedores deberían acompañar estas actualizaciones con información verificable sobre las revisiones exactas de los paquetes y los CVE corregidos, en lugar de limitarse a indicar que cPanel está actualizado. (opinión personal)

No cuestiono la validez técnica del backporting. Mi inquietud está en la trazabilidad, la transparencia y la posibilidad de realizar auditorías independientes y verificables para nuestros clientes.

Al final, quienes administramos infraestructura y sitios de clientes necesitamos algo más que una versión visible de PHP o una confirmación genérica: necesitamos evidencia de que las vulnerabilidades fueron corregidas en el entorno que realmente ejecuta nuestras aplicaciones.

¿De que manera se puede confirmar qué revisiones de EA-PHP y Alt-PHP están instaladas y si incluyen las correcciones para ambos CVE?

Sería una información muy valiosa para todos los que administramos sitios web en los servidores de Banahosting.

Fuente oficial de CloudLinux: https://cloudlinux.statuspage.io/incidents/zl0vt1yq3dj5

Actualización:
Para complementar lo anterior, CloudLinux publicó el 22 de octubre de 2026, a las 14:31 UTC, (estaba redactando este post) una actualización titulada "Why fixed alt-php and ea-php packages show an older PHP version", donde explica expresamente que las correcciones de las vulnerabilidades CVE-2026-109618 y CVE-2026-109619 fueron incorporadas mediante backporting, manteniendo el número anterior de PHP.

Por ejemplo:
  • PHP oficial corregido: 8.4.27
  • PHP mostrado por CloudLinux: 8.4.26
  • Paquete EA-PHP corregido: 8.4.26-2.el8.cloudlinux.1
Esto confirma que una versión aparentemente vulnerable puede contener los parches, siempre que corresponda a la revisión corregida del paquete.

CloudLinux también recomienda verificar los CVE directamente en el historial del paquete instalado:

rpm -q --changelog ea-php84-php-cli | grep -E 'CVE-2026-(109618|109619)'

Por tanto, el punto que considero importante aclarar no es si el backporting es válido, sino cómo podemos verificar desde un hosting compartido que realmente está instalada la compilación corregida, especialmente cuando no tenemos acceso a RPM ni privilegios administrativos.
 
Quisiera aportar algo a este debate, porque creo que hay una diferencia técnica importante que no se ha aclarado suficientemente.

La respuesta de @banahosting.com de que «cPanel ya fue actualizado» no necesariamente demuestra que las vulnerabilidades CVE-2026-109618 y CVE-2026-109619 estén corregidas en las versiones PHP que utilizan los sitios web alojados.

En nuestras verificaciones con Banahosting, encontramos servidores con CloudLinux, LiteSpeed y EasyApache donde PHP continúa mostrando versiones como 8.2.34, 8.3.35, 8.4.26 y 8.5.11, todas anteriores a las versiones corregidas oficialmente por PHP.

Investigando encontramos que CloudLinux publicó sus propias correcciones mediante backporting, incorporando los parches de seguridad sin cambiar el número de versión que reporta el intérprete.

Por ejemplo, PHP 8.4.26 puede estar corregido mediante el paquete ea-php84-php-common-8.4.26-2.el8.cloudlinux.1.

Esto nos lleva a dos reflexiones:

1. ¿Quién realizó realmente la corrección?

En servidores que utilizan CloudLinux con EA-PHP, la corrección de las versiones PHP utilizadas por los sitios corresponde a los paquetes de CloudLinux. La actualización de cpanel-php84 es distinta y no constituye, por sí sola, evidencia de que el PHP de los dominios esté corregido.

2. ¿Cómo podemos auditar estas actualizaciones?

Aunque el backporting es una práctica válida y utilizada por distribuciones empresariales, genera una dificultad importante para quienes administramos sitios en hosting compartido con Banahosting.

Si PHP continúa identificándose como 8.4.26, ¿cómo podemos demostrar que realmente contiene los parches, especialmente cuando no tenemos acceso root ni podemos consultar los paquetes RPM instalados?

Considero que los proveedores deberían acompañar estas actualizaciones con información verificable sobre las revisiones exactas de los paquetes y los CVE corregidos, en lugar de limitarse a indicar que cPanel está actualizado. (opinión personal)

No cuestiono la validez técnica del backporting. Mi inquietud está en la trazabilidad, la transparencia y la posibilidad de realizar auditorías independientes y verificables para nuestros clientes.

Al final, quienes administramos infraestructura y sitios de clientes necesitamos algo más que una versión visible de PHP o una confirmación genérica: necesitamos evidencia de que las vulnerabilidades fueron corregidas en el entorno que realmente ejecuta nuestras aplicaciones.

¿De que manera se puede confirmar qué revisiones de EA-PHP y Alt-PHP están instaladas y si incluyen las correcciones para ambos CVE?

Sería una información muy valiosa para todos los que administramos sitios web en los servidores de Banahosting.

Fuente oficial de CloudLinux: https://cloudlinux.statuspage.io/incidents/zl0vt1yq3dj5

Actualización:
Para complementar lo anterior, CloudLinux publicó el 22 de octubre de 2026, a las 14:31 UTC, (estaba redactando este post) una actualización titulada "Why fixed alt-php and ea-php packages show an older PHP version", donde explica expresamente que las correcciones de las vulnerabilidades CVE-2026-109618 y CVE-2026-109619 fueron incorporadas mediante backporting, manteniendo el número anterior de PHP.

Por ejemplo:
  • PHP oficial corregido: 8.4.27
  • PHP mostrado por CloudLinux: 8.4.26
  • Paquete EA-PHP corregido: 8.4.26-2.el8.cloudlinux.1
Esto confirma que una versión aparentemente vulnerable puede contener los parches, siempre que corresponda a la revisión corregida del paquete.

CloudLinux también recomienda verificar los CVE directamente en el historial del paquete instalado:

rpm -q --changelog ea-php84-php-cli | grep -E 'CVE-2026-(109618|109619)'

Por tanto, el punto que considero importante aclarar no es si el backporting es válido, sino cómo podemos verificar desde un hosting compartido que realmente está instalada la compilación corregida, especialmente cuando no tenemos acceso a RPM ni privilegios administrativos.
Lo que estas indicando es incorrecto.

Esta claramente explicado por cPanel las versiones parcheadas a lo cual he proporcionado el link explicativo.

Documento oficial: https://support.cpanel.net/hc/en-us...y-Release-CVE-2026-109618-and-CVE-2026-109619

Si no lo va a leer aqui lo pego:

Utilizamos Cloudlinux

CloudLinux EasyApache4PHP 5.0 and later

Patched versions
  • ea-php52: 5.2.17-27
  • ea-php53: 5.3.29-29
  • ea-php54: 5.4.45-82
  • ea-php55: 5.5.38-64
  • ea-php56: 5.6.40-25
  • ea-php70: 7.0.33-29
  • ea-php71: 7.1.33-20
  • ea-php72: 7.2.34-12
  • ea-php73: 7.3.33-15
  • ea-php74: 7.4.33-18
  • ea-php80: 8.0.30-11
  • ea-php81: 8.1.34-4
  • ea-php82: 8.2.34-2
  • ea-php83: 8.3.35-2
  • ea-php84: 8.4.26-2
  • ea-php85: 8.5.11-2

    Todos nuestros hosting Parcheados seguros contra
  • Critical PHP Security Release - CVE-2026-109618 and CVE-2026-109619​

 
Yo actualice hoy todas mis webs a PHP 8.5 (alt-php85) en banahosting.com, ahora en la salud del sitio con WP, me sale esto:

Servidor SQL obsoleto​

El servidor SQL es una parte de software obligatoria que la base de datos de WordPress usa para almacenar el contenido y ajustes de tu sitio.

Para un rendimiento óptimo y por razones de seguridad, deberías plantearte ejecutar la versión 10.11 o superior de MariaDB. Contacta con tu empresa de alojamiento web para corregirlo.
 
Lo que estas indicando es incorrecto.

Esta claramente explicado por cPanel las versiones parcheadas a lo cual he proporcionado el link explicativo.

Documento oficial: https://support.cpanel.net/hc/en-us...y-Release-CVE-2026-109618-and-CVE-2026-109619

Si no lo va a leer aqui lo pego:

Utilizamos Cloudlinux

CloudLinux EasyApache4PHP 5.0 and later

Patched versions
  • ea-php52: 5.2.17-27
  • ea-php53: 5.3.29-29
  • ea-php54: 5.4.45-82
  • ea-php55: 5.5.38-64
  • ea-php56: 5.6.40-25
  • ea-php70: 7.0.33-29
  • ea-php71: 7.1.33-20
  • ea-php72: 7.2.34-12
  • ea-php73: 7.3.33-15
  • ea-php74: 7.4.33-18
  • ea-php80: 8.0.30-11
  • ea-php81: 8.1.34-4
  • ea-php82: 8.2.34-2
  • ea-php83: 8.3.35-2
  • ea-php84: 8.4.26-2
  • ea-php85: 8.5.11-2

    Todos nuestros hosting Parcheados seguros contra
  • Critical PHP Security Release - CVE-2026-109618 and CVE-2026-109619​

Gracias por la aclaración.

Sí, hemos revisado el documento de cPanel y también el boletín oficial de CloudLinux. Entendemos que las versiones EA-PHP fueron corregidas mediante backporting, por lo que PHP 8.4.26 puede estar protegido sin necesidad de mostrar PHP 8.4.27.

Precisamente ese es el punto de nuestra consulta.

El documento indica cuáles son las versiones parcheadas disponibles, pero ¿cómo podemos verificar que esas revisiones están efectivamente instaladas en el servidor donde tenemos alojados nuestros sitios?

En nuestro caso, el servidor priva-115 muestra PHP 8.4.26, compilado el 21 de octubre.

No estamos afirmando que sus servidores estén vulnerables ni cuestionando la validez de las actualizaciones.

Simplemente buscamos una confirmación técnica verificable de que el servidor utiliza las compilaciones corregidas.

¿Como verificaríamos eso?
 
Gracias por la aclaración.

Sí, hemos revisado el documento de cPanel y también el boletín oficial de CloudLinux. Entendemos que las versiones EA-PHP fueron corregidas mediante backporting, por lo que PHP 8.4.26 puede estar protegido sin necesidad de mostrar PHP 8.4.27.

Precisamente ese es el punto de nuestra consulta.

El documento indica cuáles son las versiones parcheadas disponibles, pero ¿cómo podemos verificar que esas revisiones están efectivamente instaladas en el servidor donde tenemos alojados nuestros sitios?

En nuestro caso, el servidor priva-115 muestra PHP 8.4.26, compilado el 21 de octubre.

No estamos afirmando que sus servidores estén vulnerables ni cuestionando la validez de las actualizaciones.

Simplemente buscamos una confirmación técnica verificable de que el servidor utiliza las compilaciones corregidas.

¿Como verificaríamos eso?
Muy simple solo coloca un phpinfo y vera la version completa de php. y comparar con la anunciada de cpanel.

Asi:
Saludos!
 
Muy simple solo coloca un phpinfo y vera la version completa de php. y comparar con la anunciada de cpanel.

Asi:
Saludos!
Gracias por la aclaración.

He revisado nuevamente la documentación oficial de cPanel y CloudLinux y confirmo que las versiones que mencionan corresponden a paquetes corregidos mediante backporting.

Mi inquietud surgía porque phpinfo() muestra la versión del intérprete PHP, pero no necesariamente la revisión completa del paquete RPM instalado.

De hecho, el mismo artículo de cPanel recomienda verificar los CVE mediante rpm -q --changelog, algo que no tenemos disponible desde una cuenta de hosting compartido.

Agradezco la confirmación de que sus servidores están actualizados. Mi intención siempre ha sido verificar técnicamente las correcciones para poder informar con precisión a nuestros clientes.

Saludos.
 
Gracias por la aclaración.

He revisado nuevamente la documentación oficial de cPanel y CloudLinux y confirmo que las versiones que mencionan corresponden a paquetes corregidos mediante backporting.

Mi inquietud surgía porque phpinfo() muestra la versión del intérprete PHP, pero no necesariamente la revisión completa del paquete RPM instalado.

De hecho, el mismo artículo de cPanel recomienda verificar los CVE mediante rpm -q --changelog, algo que no tenemos disponible desde una cuenta de hosting compartido.

Agradezco la confirmación de que sus servidores están actualizados. Mi intención siempre ha sido verificar técnicamente las correcciones para poder informar con precisión a nuestros clientes.

Saludos.
Me pasó exactamente lo mismo.

De hecho, tienes mi mensaje 3 mensajes más arriba del primero que escribiste - Quisiera aportar algo a este debate... , donde comentaba precisamente que PHP_VERSION seguía mostrando 8.3.35 aunque en CloudLinux la revisión parcheada fuera ea-php83 8.3.35-2.

Por eso phpinfo() tampoco me permitía comprobar ese -2, ya que seguía mostrando la versión base de PHP.
 
Me pasó exactamente lo mismo.

De hecho, tienes mi mensaje 3 mensajes más arriba del primero que escribiste - Quisiera aportar algo a este debate... , donde comentaba precisamente que PHP_VERSION seguía mostrando 8.3.35 aunque en CloudLinux la revisión parcheada fuera ea-php83 8.3.35-2.

Por eso phpinfo() tampoco me permitía comprobar ese -2, ya que seguía mostrando la versión base de PHP.
Gracias por compartir tu experiencia. Precisamente ese es el punto que he intentado explicar.

En mi caso, varios clientes han revisado sus versiones de PHP y nos han cuestionado porque aparentemente seguimos utilizando versiones vulnerables, aunque las correcciones se hayan aplicado mediante backporting.

El problema no es que los parches no estén instalados, sino lo complicado que resulta demostrarle al cliente que su sitio está protegido, cuando phpinfo() sigue mostrando la versión anterior y no tenemos acceso a la revisión completa del paquete.

Gracias nuevamente por tu aporte, porque confirma que no somos los únicos con esta inquietud.
 
Captura de pantalla 2026-10-23 a la(s) 5.36.59 p.m..webp


todas las nuevas instalaciones (desde softaculus) envian este mensaje, justo al instalar un wordpress en limpio, mandan un email, ¿es normal?
 
Me suscribo al tema.
 
Lo que plantean @soyjuli_us y @Tronlar tiene una salida práctica: relacionar el PHP que atiende el dominio con el paquete instalado y comprobar que los procesos ya cargaron la actualización. La explicación del backport ya quedó bastante clara; lo que falta para documentarlo ante un cliente es esa trazabilidad.

Lo viví estos días con servidores de mi empresa y de clientes. Entre PHP y los avisos adicionales de Node.js y Java pasé dos días revisando instalaciones, procesos y servicios. Una de las trampas fue encontrar el paquete actualizado en disco mientras seguían vivos procesos con el ejecutable anterior. Por eso la revisión no terminaba al ver que el gestor de paquetes había acabado.

Desde una cuenta de hosting puedes recoger un diagnóstico mínimo del dominio, en un acceso privado o restringido, sin dejar un phpinfo() abierto al público:

PHP:
<?php
header('Content-Type: application/json; charset=utf-8');

echo json_encode([
    'version' => PHP_VERSION,
    'sapi' => PHP_SAPI,
    'binario' => PHP_BINARY,
    'ini' => php_ini_loaded_file(),
    'pid' => getmypid(),
], JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);

Esto identifica el contexto de esa petición: versión, handler, binario, configuración y proceso. No demuestra que tenga el parche ni revela por arte de magia la revisión RPM. Si hay balanceo o varios workers, una sola petición tampoco acredita todos los procesos. Pero permite pedir una comprobación referida a tu dominio, en lugar de una respuesta genérica sobre el servidor.

La parte que completa el proveedor es identificar el paquete dueño de ese ejecutable y contrastar su revisión con el aviso oficial. Por ejemplo, si ese dominio utiliza FPM de EasyApache con PHP 8.3, las consultas del administrador serían:

Bash:
rpm -qf /opt/cpanel/ea-php83/root/usr/sbin/php-fpm
rpm -q --changelog ea-php83-php-fpm | grep -E 'CVE-2026-(109618|109619)'

Ese es un ejemplo para FPM de esa rama, no para copiarlo sin más en LiteSpeed o alt-php: hay que consultar el paquete del binario que realmente utiliza la web. Y si una búsqueda en el changelog no devuelve nada, toca contrastar el aviso y la revisión exacta; no sacar de ahí una conclusión automática de seguridad.

Yo pediría que la confirmación incluya el nodo donde está alojado el dominio, handler, nombre y revisión completa del paquete, referencia del fabricante para ambos CVE y cuándo se renovaron los procesos correspondientes. No hace falta publicar datos de otros clientes. Desde una cuenta compartida con RPM restringido, parte de esa evidencia necesariamente la tiene que aportar el proveedor; phpinfo() no puede sustituir ese acceso.

Además comprobaría el proceso vivo. En Linux, /proc/PID/exe permite ver el ejecutable de un proceso; si aparece «(deleted)» después de actualizar, hay que investigar si sigue usando el binario sustituido. Que no aparezca esa marca tampoco certifica por sí solo el parche: se cruza con el paquete, el arranque y, cuando corresponda, las bibliotecas cargadas. Esto también me tocó revisarlo con Node.js y las JVM; cada aplicación puede arrancar desde una ruta distinta de la que muestra la consola.

Y separaría dos conclusiones: «el entorno tiene el parche aplicado» y «no encontré evidencia de compromiso en lo revisado». Para la segunda revisé accesos, bloqueos del WAF, errores de memoria, archivos modificados y persistencia. Un 403 aislado no demuestra que todos los intentos fallaran, y un 200 tampoco demuestra que ejecutaran código. Hay que seguir la petición y cruzar las pruebas antes de informar al cliente.

La referencia de compilaciones que ya compartieron sirve para contrastar la parte del paquete: https://support.cpanel.net/hc/en-us...y-Release-CVE-2026-109618-and-CVE-2026-109619

Con esa comprobación se puede responder con precisión sin acusar al proveedor de estar vulnerable por un número antiguo, ni dar el trabajo por cerrado solamente porque exista un paquete corregido en el repositorio.
 
Atrás
Arriba