
Extensión de Checkmk con un plug-in de agente que inventaría los binarios de PHP y mod_php de Apache en hosts Linux e informa el estado de PHP2Shell (CVE-2026-109618/109619), los backports y los procesos obsoletos.
Una extensión de Checkmk que muestra, para cada instalación de PHP en un host Linux, si está afectada por PHP2Shell: las vulnerabilidades de ejecución remota de código previas a la autenticación CVE-2026-109618 y CVE-2026-109619, divulgadas y corregidas el 2026-10-21 en PHP 8.2.35, 8.3.36, 8.4.27 y 8.5.12.
Incluye un pequeño plug-in de agente de shell POSIX que solo recopila datos (binarios PHP, bibliotecas PHP de Apache mod_php, NGINX Unit y FrankenPHP, versiones, registros de cambios de paquetes, ajustes de php.ini, procesos que aún ejecutan un binario reemplazado). Si eso significa "corregido" o "vulnerable" lo decide el plug-in de comprobación en el servidor de Checkmk, de modo que la nueva información —otra versión corregida, una nueva CVE— solo requiere un .mkp actualizado, no un nuevo script en cada host.
Por qué no basta con comparar números de versión: las distribuciones aplican la corrección sin cambiar la versión upstream. Ubuntu 24.04 incluye PHP 8.3.6 y AlmaLinux 9 incluye 8.0.30; ambas están corregidas y ambas serían "vulnerables" según la versión. Por lo tanto, la extensión también lee el registro de cambios del paquete al que pertenece cada binario.
cmk_addons.plugins)./proc/<pid>/maps de todos los procesos). sh POSIX simple con herramientas GNU o busybox; los registros de cambios de paquetes se leen con dpkg, rpm o apk. Probado en la familia Debian (Debian, Ubuntu), la familia Red Hat (RHEL, AlmaLinux, Rocky Linux, Oracle Linux, CentOS Stream, Fedora, Amazon Linux 2023, CentOS 7) y Alpine, ver más abajo.| Imagen de Checkmk | Fecha | Resultado |
|---|---|---|
checkmk/check-mk-ultimate:2.5.0p17 | 2026-10-27 | OK (build, cmk-validate-plugins, smoke test, install + discovery + check + agent bake) |
checkmk/check-mk-ultimate:3.0.0-2026.10.27 (daily) | 2026-10-27 | OK (build, cmk-validate-plugins, smoke test, install + discovery + check + agent bake) |
El plug-in de agente se ejecutó contra los propios paquetes PHP de las distribuciones el 2026-10-27 (scripts/test_agent_plugin.sh). Donde un objetivo inicia las SAPIs web (FPM, Apache mod_php donde la distribución aún lo incluye, NGINX Unit, FrankenPHP), el binario FPM y libphp se reemplazaron posteriormente en disco, y la detección de reinicio informó de los procesos en ejecución.
Familia Debian y Alpine
| Distribución | Paquetes PHP | Resultado del plug-in |
|---|---|---|
| Ubuntu 24.04 | 8.3.6-0ubuntu0.24.04.13 (CLI, FPM, CGI, mod_php) | corregido por backport (el registro de cambios menciona ambas CVE) |
| Debian 12 | 8.2.35-1~deb12u1 (CLI, FPM, mod_php) | corregido por versión |
| Debian 12 + nginx | 8.2.35-1~deb12u1 (CLI, FPM detrás de nginx) | corregido por versión |
| Debian 13 | 8.4.27-1~deb13u1 (CLI, FPM) | corregido por versión |
| Alpine 3.22 | php83 8.3.36-r0 (CLI, FPM, CGI) | corregido por versión |
Familia Red Hat
| Distribución | Paquetes PHP | Resultado del plug-in |
|---|---|---|
| AlmaLinux 8.10 | 7.2.24-1.module_el8.10.0 (CLI, FPM, CGI, mod_php libphp7.so) | corregido mediante backport (el changelog menciona ambos CVE) |
AlmaLinux 8.10, módulo php:8.2 | 8.2.35-1.module_el8.10.0 (CLI, FPM, CGI) | corregido por versión |
| RHEL 9.8 (UBI), AlmaLinux 9.8, Rocky Linux 9.8, Oracle Linux 9.8 | 8.0.30-8.el9_8.1 (CLI, FPM, CGI) | corregido mediante backport (el changelog menciona ambos CVE) |
AlmaLinux 9.8, módulo php:8.3 | 8.3.36-1.module_el9.8.0 (CLI, FPM, CGI) | corregido por versión |
| AlmaLinux 9.8 + Remi SCL | php74 7.4.33-31.el9.remi, php81 8.1.34-6.el9.remi (/opt/remi) | corregido mediante backport (el changelog menciona ambos CVE) |
| AlmaLinux 10.2, CentOS Stream 10 | 8.3.36-1.el10 (CLI, FPM, CGI) | corregido por versión |
| Fedora 44 | 8.5.12-1.fc44 (CLI, FPM, CGI) | corregido por versión |
| Amazon Linux 2023 | php8.5 8.5.12-1.amzn2023.0.1 (CLI, FPM, CGI) | corregido por versión |
| CentOS 7 (fin de vida, vault) | 5.4.16-48.el7 (CLI, FPM, CGI) | vulnerable - sin backport para EL7 fuera del soporte extendido de pago |
Imágenes de contenedor oficiales y FrankenPHP
| Imagen | PHP | Resultado del plug-in |
|---|---|---|
php:8.2.20-fpm | 8.2.20, compilado desde el código fuente | vulnerable |
unit:php8.3 (NGINX Unit) | 8.3.26 (CLI, CGI, libphp embebido) | vulnerable |
dunglas/frankenphp:latest | 8.5.12 (CLI, CGI, libphp embebido) | corregido por versión |
| Binario estático de FrankenPHP (release de GitHub) | 8.5.12 | corregido por versión |
Todavía no se ha ejecutado en un host de producción fuera de contenedores - en particular no con SELinux en modo enforcing (familia RHEL); el agente normalmente se ejecuta sin confinar allí.
Descargue el .mkp desde una release (o compílelo usted mismo, consulte
Desarrollo).
Setup > Maintenance > Extension packages > Upload package, o en la línea de comandos dentro del sitio:
mkp add php2shell-<version>.mkp
mkp enable php2shell <version>
Despliegue el plug-in del agente en los hosts que desea comprobar:
Ejecute un descubrimiento de servicios en los hosts. Cada binario PHP y módulo PHP de Apache obtiene su
propio servicio, además de un servicio PHP2Shell restart por host.
Opcional: ajuste los estados en Setup > Services > Service monitoring rules > PHP2Shell (CVE-2026-109618 / CVE-2026-109619) y PHP2Shell restart.
Copie package/agents/plugins/php2shell en un subdirectorio de intervalo de caché del directorio
de plug-ins del agente y hágalo ejecutable:
install -m 755 php2shell /usr/lib/check_mk_agent/plugins/3600/php2shell
El directorio 3600 hace que el agente lo ejecute en segundo plano una vez por hora y sirva el
resultado en caché entre medias. No lo coloques directamente en plugins/: ejecuta todos los binarios PHP
y lee el mapa de memoria de cada proceso, lo cual es demasiado para cada consulta del agente.
| Servicio | Uno por | Estados (por defecto, configurable) |
|---|---|---|
PHP2Shell <path> | Binario o biblioteca PHP, p. ej. PHP2Shell /usr/sbin/php-fpm8.3 | OK fijo - CRIT SAPI web vulnerable - WARN SAPI web vulnerable con todas las mitigaciones provisionales - WARN CLI vulnerable - UNKNOWN versión no determinable |
PHP2Shell restart | host con PHP | OK - CRIT procesos que aún ejecutan un binario PHP o libphp reemplazado |