Synology y PHP2Shell (CVE-2026-109618 / CVE-2026-109619) - Actualizar y mitigar
Synology y PHP2Shell: qué hacer hoy para proteger tu NAS
Dos vulnerabilidades críticas en PHP afectan a casi todas las versiones en uso. Te explicamos cómo actualizar tu NAS y, si no puedes hacerlo de inmediato, qué medidas aplicar mientras tanto.
Qué son PHP2Shell y sus CVE
PHP2Shell es el nombre que se ha dado a dos vulnerabilidades críticas de ejecución remota de código en PHP, identificadas como CVE-2026-109618 y CVE-2026-109619. Según la guía de Marius Hosting, afectan a casi todas las versiones de PHP que siguen en uso.
En el caso de los NAS de Synology, el riesgo está en la Web Station: si alojas una web o una aplicación PHP en tu NAS y es accesible desde internet, la superficie de ataque existe. Si el NAS no sirve PHP al exterior, el riesgo directo es mucho menor.
Solución definitiva: actualizar PHP
Synology ha publicado paquetes de PHP con las correcciones de seguridad. Estas son las versiones parcheadas indicadas en la guía:
| Rama de PHP | Paquete parcheado | Descarga |
|---|---|---|
| PHP 8.2 | 8.2.35-0171 | archive.synology.com |
| PHP 8.3 | 8.3.36-0051 | archive.synology.com |
| PHP 8.4 | 8.4.27-0051 | archive.synology.com |
Cómo instalar el paquete
- Descarga el paquete de la versión de PHP que usas desde la tabla anterior.
- Abre Centro de paquetes en tu NAS.
- Pulsa Instalación manual y sube el archivo descargado.
- Completa la instalación y comprueba que tus sitios siguen funcionando.
Si usas PHP 8.1, 8.0 o 7.x
Synology no ha publicado ni publicará paquetes corregidos para PHP 8.1, 8.0 ni las ramas 7.x, porque ya han llegado al fin de su vida útil. Si todavía usas alguna de ellas con Web Station, las medidas temporales son tu mejor protección disponible, y conviene planear la migración a una rama soportada.
Medidas temporales en Web Station
Estas medidas reducen la exposición mientras no puedes actualizar. Se aplican sobre el perfil de PHP que utiliza tu web.
Paso 1: abrir el perfil de PHP
- Abre Web Station en tu NAS.
- En la barra lateral, entra en Script Language Settings.
- Selecciona tu perfil de PHP y pulsa la pestaña Edit.
Paso 2: desactivar el progreso de subida basado en sesión
En la pestaña Core, busca session.upload_progress.enabled y cambia su valor de 1 a 0. Guarda los cambios.
Esta función de PHP no la usan la mayoría de aplicaciones modernas. Desactivarla cierra una de las vías de ataque más comunes asociadas a estas vulnerabilidades, aunque no es una solución completa.
Paso 3: reforzar la gestión de sesiones
Vuelve a editar el mismo perfil y, en la pestaña Core, cambia de 0 a 1 estos parámetros:
session.use_cookiessession.use_only_cookiessession.use_strict_mode
Son buenas prácticas de seguridad generales, así que conviene mantenerlas incluso después de actualizar PHP.
Paso 4: asignar el perfil a tu sitio
En Web Station, dentro de Web Service, comprueba que tu sitio usa el perfil de PHP donde has hecho los cambios.
¿Estoy afectado si no uso Web Station?
En la mayoría de los casos, no. Estas vulnerabilidades requieren que PHP procese peticiones HTTP. Si no tienes Web Station ni ningún otro servicio que exponga PHP a la web, no hay superficie de ataque remota.
Si usas contenedores Docker, revisa la versión de la imagen de PHP que empleas. Según la guía, la imagen de PHP 8.5.12 ya estaba actualizada a la fecha de publicación.
Capas adicionales de protección
La guía original recomienda dos medidas complementarias. No sustituyen a la actualización, pero reducen el volumen de escaneos y ataques automáticos.
Threat Prevention en el router
Si tu router es de Synology y tiene Threat Prevention, mantenlo activo y comprueba que está inspeccionando el tráfico. Puede detectar algunos patrones de escaneo y generar alertas, aunque no detiene todos los intentos.
Lista de IPs bloqueadas
Marius Hosting mantiene una lista de IPs maliciosas que puedes importar en tu NAS o router, con caducidad configurada como permanente. Reduce el tráfico de bots que llega hasta Web Station.
Resumen de acciones
- Comprueba si usas Web Station y si tiene sitios accesibles desde internet.
- Identifica tu versión de PHP en Script Language Settings.
- Si es PHP 8.2, 8.3 o 8.4: instala el paquete parcheado correspondiente desde Instalación manual.
- Si es PHP 8.1, 8.0 o 7.x: aplica las medidas temporales y planifica la migración a una rama soportada.
- Vigila el Centro de paquetes por si Synology publica nuevas versiones con actualizaciones adicionales.
Fuentes y referencias
- Artículo original: "Synology: Mitigating PHP2Shell (CVE-2026-109618 / CVE-2026-109619)", de Marius Bogdan Lixandru en Marius Hosting (22 de octubre de 2026)
- PHP2Shell en Wikipedia
- Repositorio de paquetes PHP de Synology
- Marius Hosting: lista de IPs bloqueadas
Comentarios
Publicar un comentario