{"id":7487,"date":"2026-10-22T11:00:40","date_gmt":"2026-10-22T10:00:40","guid":{"rendered":"https:\/\/www.k3bone.com\/blog\/?p=7487"},"modified":"2026-10-22T11:19:32","modified_gmt":"2026-10-22T10:19:32","slug":"vulnerabilidad-php-php2shell","status":"publish","type":"post","link":"https:\/\/www.k3bone.com\/blog\/2026\/10\/vulnerabilidad-php-php2shell\/","title":{"rendered":"Vulnerabilidad en PHP (php2shell): qu\u00e9 hacer con tu web"},"content":{"rendered":"<h1>Vulnerabilidad cr\u00edtica en PHP: qu\u00e9 hacer con tu web<\/h1>\n<p>Esta semana se ha publicado una <strong>vulnerabilidad en PHP<\/strong> de las que obligan a dejar lo que est\u00e1s haciendo. En realidad son dos fallos, conocidos ya como <strong>php2shell<\/strong>, y afectan al lenguaje sobre el que funcionan WordPress, PrestaShop y la mayor\u00eda de webs que hay en internet. El 21 de octubre el equipo de PHP public\u00f3 las versiones corregidas y recomend\u00f3 actualizar de inmediato.<\/p>\n<p>En este art\u00edculo te explicamos en qu\u00e9 consisten, qu\u00e9 puedes hacer hoy mismo para proteger tu web y c\u00f3mo lo estamos gestionando en k3bone.com.<\/p>\n<h2>Qu\u00e9 es php2shell<\/h2>\n<p><strong>php2shell<\/strong> es el nombre con el que se conoce a dos vulnerabilidades cr\u00edticas en el propio int\u00e9rprete de PHP que permiten a un atacante ejecutar c\u00f3digo en el servidor sin necesidad de autenticarse. Seg\u00fan el <a href=\"https:\/\/www.php.net\/archive\/2026.php#2026-10-21-5\" target=\"_blank\" rel=\"noopener\">anuncio oficial de php.net<\/a>, las dos tienen una puntuaci\u00f3n CVSS v4.0 de 9.2 sobre 10:<\/p>\n<ul>\n<li><a href=\"https:\/\/nvd.nist.gov\/vuln\/detail\/cve-2026-109618\" target=\"_blank\" rel=\"noopener\">CVE-2026-109618<\/a>: si PHP se queda sin memoria mientras los datos internos de una petici\u00f3n est\u00e1n a medio inicializar, la limpieza posterior puede tratar datos corruptos como v\u00e1lidos. Esa corrupci\u00f3n abre la puerta a ejecutar c\u00f3digo malicioso.<\/li>\n<li><a href=\"https:\/\/nvd.nist.gov\/vuln\/detail\/cve-2026-109619\" target=\"_blank\" rel=\"noopener\">CVE-2026-109619<\/a>: parte del estado interno de una petici\u00f3n puede sobrevivir despu\u00e9s de que se haya liberado su memoria. Una petici\u00f3n posterior atendida por el mismo proceso puede llegar a usar ese estado antes de que se reinicie, y un atacante puede aprovecharlo para ejecutar su propio c\u00f3digo.<\/li>\n<\/ul>\n<p>La diferencia con las vulnerabilidades habituales es el lugar donde est\u00e1 el problema. Cuando falla un plugin de WordPress, el agujero est\u00e1 en tu aplicaci\u00f3n y basta con actualizar ese plugin. Aqu\u00ed el fallo est\u00e1 un nivel por debajo, en el motor que ejecuta la aplicaci\u00f3n, as\u00ed que da igual lo bien mantenido que tengas tu WordPress si el PHP que hay debajo es vulnerable.<\/p>\n<h2>A qui\u00e9n afecta esta vulnerabilidad en PHP<\/h2>\n<p>Seg\u00fan Cloudflare, el problema est\u00e1 presente en cualquier servidor web con PHP 5.4 o posterior, da igual si lo ejecuta con <strong>PHP-FPM<\/strong>, <strong>Apache con mod_php<\/strong>, <strong>LiteSpeed<\/strong> o <strong>php-cgi<\/strong>. En la pr\u00e1ctica, eso incluye casi cualquier hosting: compartido, VPS o servidor dedicado. Los fallos los encontraron y comunicaron de forma coordinada Calif.io, Wiz, OpenAI y Quarkslab.<\/p>\n<p>Lo que m\u00e1s nos preocupa es que ya circula un exploit p\u00fablico. Seg\u00fan el <a href=\"https:\/\/blog.cloudlinux.com\/php-cve-2026-109618-and-cve-2026-109619\" target=\"_blank\" rel=\"noopener\">an\u00e1lisis de CloudLinux<\/a>, ataca la funci\u00f3n que informa del progreso de las subidas de archivos, algo que PHP procesa al recibir la petici\u00f3n, antes de ejecutar el c\u00f3digo de tu web. Ni el usuario y contrase\u00f1a de tu panel, ni el doble factor, ni un plugin de seguridad de WordPress llegan a intervenir. Es dif\u00edcil imaginar un escenario peor para un servidor web.<\/p>\n<h2>Qu\u00e9 pasa si uso una versi\u00f3n antigua de PHP<\/h2>\n<p>El 21 de octubre se publicaron las versiones corregidas de las ramas con soporte: <strong>PHP 8.2.35, 8.3.36, 8.4.27 y 8.5.12<\/strong>. Las versiones <strong>PHP 8.1 y anteriores ya no tienen soporte oficial<\/strong>, como puedes comprobar en la <a href=\"https:\/\/www.php.net\/supported-versions.php\" target=\"_blank\" rel=\"noopener\">tabla de versiones soportadas de php.net<\/a>, y normalmente no reciben parches de ning\u00fan tipo.<\/p>\n<p>Esta vez, por la gravedad del problema, el equipo de PHP ha hecho una excepci\u00f3n y ha publicado correcciones para <strong>PHP 7.4, 8.0 y 8.1<\/strong>. No son versiones listas para instalar, sino cambios en el c\u00f3digo fuente pensados para quien compila PHP o para los proveedores que mantienen versiones antiguas, como las distribuciones Linux, que recibieron los parches con antelaci\u00f3n para preparar sus propios paquetes. Para versiones anteriores a la 7.4 (5.6, 7.0, 7.1, 7.2 o 7.3) el proyecto PHP no ha publicado nada. Solo algunos proveedores, como CloudLinux, han preparado sus propios parches, as\u00ed que si tu hosting no los ofrece, tu web sigue expuesta aunque el resto del servidor est\u00e9 actualizado.<\/p>\n<p>Conviene no acostumbrarse: un parche excepcional es eso, una excepci\u00f3n. La pr\u00f3xima vulnerabilidad grave puede no tenerlo.<\/p>\n<h2>C\u00f3mo proteger tu web paso a paso<\/h2>\n<p>Si tienes una web en PHP, estos son los pasos que te recomendamos seguir, por este orden:<\/p>\n<ol>\n<li><strong>Comprueba tu versi\u00f3n de PHP.<\/strong> En cPanel la encontrar\u00e1s en <em>Seleccionar versi\u00f3n de PHP<\/em> o en <em>MultiPHP Manager<\/em>. En WordPress tambi\u00e9n puedes verla en <em>Herramientas &gt; Salud del sitio &gt; Informaci\u00f3n &gt; Servidor<\/em>, con el n\u00famero completo de versi\u00f3n.<\/li>\n<li><strong>Actualiza a una versi\u00f3n parcheada.<\/strong> Si usas PHP 8.2 o superior, aseg\u00farate de tener como m\u00ednimo la 8.2.35, 8.3.36, 8.4.27 o 8.5.12. Si tu proveedor de hosting gestiona PHP por ti, preg\u00fantale si ya ha aplicado los parches.<\/li>\n<li><strong>Revisa la protecci\u00f3n de Cloudflare si la usas.<\/strong> M\u00e1s abajo te explicamos c\u00f3mo comprobarla y por qu\u00e9 solo es una medida temporal.<\/li>\n<li><strong>Pon al d\u00eda el resto de la web.<\/strong> Aprovecha para <strong>actualizar<\/strong> WordPress o PrestaShop, el tema y los plugins o m\u00f3dulos. Hazlo con una copia de seguridad reciente o en un entorno de pruebas (staging).<\/li>\n<\/ol>\n<p>Si tu web lleva a\u00f1os sin tocarse, el paso 2 puede no ser inmediato. Un plugin antiguo puede dejar de funcionar al cambiar a una versi\u00f3n moderna de PHP, y ah\u00ed es mejor pedir ayuda que forzar el cambio en producci\u00f3n.<\/p>\n<p>Si administras tu propio servidor y no puedes actualizar todav\u00eda, el anuncio de php.net incluye ajustes temporales de configuraci\u00f3n, como desactivar <code>session.upload_progress.enabled<\/code> o limitar el tama\u00f1o de las peticiones. El propio equipo de PHP advierte que no son una mitigaci\u00f3n completa y que actualizar es la \u00fanica opci\u00f3n segura.<\/p>\n<p><a href=\"https:\/\/www.k3bone.com\/blog\/wp-content\/uploads\/2026\/10\/cloudflare.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7491\" src=\"https:\/\/www.k3bone.com\/blog\/wp-content\/uploads\/2026\/10\/cloudflare.webp\" alt=\"\" width=\"750\" height=\"422\" srcset=\"https:\/\/www.k3bone.com\/blog\/wp-content\/uploads\/2026\/10\/cloudflare.webp 750w, https:\/\/www.k3bone.com\/blog\/wp-content\/uploads\/2026\/10\/cloudflare-640x360.webp 640w, https:\/\/www.k3bone.com\/blog\/wp-content\/uploads\/2026\/10\/cloudflare-400x225.webp 400w, https:\/\/www.k3bone.com\/blog\/wp-content\/uploads\/2026\/10\/cloudflare-367x206.webp 367w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><\/a><\/p>\n<h2>Cloudflare como medida temporal<\/h2>\n<p>Si tu web pasa por Cloudflare, su <strong>firewall de aplicaciones (WAF)<\/strong> puede bloquear los intentos de ataque antes de que lleguen a tu servidor. Seg\u00fan <a href=\"https:\/\/blog.cloudflare.com\/php-vulnerabilities-waf-protection\/\" target=\"_blank\" rel=\"noopener\">el propio Cloudflare<\/a>, despleg\u00f3 reglas espec\u00edficas contra php2shell unas horas antes de que se hicieran p\u00fablicas las vulnerabilidades, y desde el 21 de octubre protegen por defecto a todos sus planes. Lo que tienes que hacer depende de tu plan:<\/p>\n<ul>\n<li><strong>Plan Free:<\/strong> la protecci\u00f3n se activa sola, sin que tengas que tocar nada.<\/li>\n<li><strong>Planes Pro, Business y Enterprise:<\/strong> entra en el <a href=\"https:\/\/dash.cloudflare.com\/?to=\/:account\/:zone\/security\/security-rules\" target=\"_blank\" rel=\"noopener\">panel de Cloudflare, en Security rules<\/a>. Si aparece el aviso de que tu configuraci\u00f3n no te protege frente a php2shell, pulsa <em>Deploy Cloudflare Managed Ruleset<\/em> y comprueba que las reglas est\u00e1n en modo bloqueo.<\/li>\n<\/ul>\n<p>Ten en cuenta que esto reduce el riesgo, pero no corrige la vulnerabilidad. El fallo est\u00e1 en PHP, y Cloudflare reconoce que los atacantes ya est\u00e1n modificando sus ataques para intentar esquivar las reglas. Tampoco protege el tr\u00e1fico que llegue a tu servidor sin pasar por Cloudflare. \u00dasalo para ganar tiempo mientras actualizas PHP, no como soluci\u00f3n definitiva.<\/p>\n<p>Si quieres activar Cloudflare en tu web y no sabes como hacerlo, visita <a href=\"https:\/\/www.k3bone.com\/blog\/2026\/01\/acelera-y-protege-tu-web-guia-definitiva-para-configurar-cloudflare-gratis\/\">nuestro art\u00edculo en el blog con todos los pasos<\/a> para hacerlo de manera gratuita.<\/p>\n<h2>Qu\u00e9 hemos hecho en k3bone.com<\/h2>\n<p>El 21 de octubre avisamos por email a todos nuestros clientes de hosting. Desde entonces hemos actualizado las versiones de PHP de nuestros servidores y estamos revisando, junto a cada cliente, las webs que todav\u00eda usan versiones antiguas para buscar la mejor soluci\u00f3n en cada caso. A quienes tienen Cloudflare delante de su web tambi\u00e9n les estamos recomendando comprobar que tienen activa su protecci\u00f3n contra php2shell.<\/p>\n<p>En nuestros servidores usamos <strong>CloudLinux<\/strong> con cPanel, y cada cliente puede elegir desde su panel entre dos tipos de PHP: las versiones de cPanel (ea-php), que se gestionan en <em>MultiPHP Manager<\/em>, y las versiones <em>hardened<\/em> de CloudLinux (alt-php), que se eligen en <em>Seleccionar versi\u00f3n de PHP<\/em>. Las versiones <em>hardened<\/em> son versiones antiguas que CloudLinux y TuxCare siguen manteniendo y parcheando aunque hayan dejado de tener soporte oficial.<\/p>\n<p>Seg\u00fan el <a href=\"https:\/\/blog.cloudlinux.com\/php-cve-2026-109618-and-cve-2026-109619\" target=\"_blank\" rel=\"noopener\">seguimiento que publica CloudLinux<\/a>, los paquetes corregidos de ea-php, de PHP 5.2 a 8.5, ya est\u00e1n publicados y los tenemos <strong>instalados<\/strong>. Los de alt-php se actualizar\u00e1n en breve, en cuanto CloudLinux los libere para nuestros servidores. Mientras tanto, si tu web usa una versi\u00f3n alt-php, la soluci\u00f3n inmediata es cambiar a la misma versi\u00f3n de PHP en ea-php: en <em>Seleccionar versi\u00f3n de PHP<\/em>, elige la opci\u00f3n <em>native<\/em> y selecciona la versi\u00f3n en <em>MultiPHP Manager<\/em>. Si no lo tienes claro, escr\u00edbenos y lo hacemos contigo.<\/p>\n<p>Aun as\u00ed, aconsejamos siempre pasar a una <strong>versi\u00f3n de PHP<\/strong> actual, de PHP 8.3 en adelante. Con php2shell se ha visto claro: en las versiones soportadas el parche estuvo disponible el mismo d\u00eda, y en las antiguas todav\u00eda hay quien lo est\u00e1 esperando.<\/p>\n<h2>Por qu\u00e9 pasar a PHP 8.3 o superior<\/h2>\n<p>Una versi\u00f3n antigua con parches de terceros te saca del apuro, pero no sirve como plan a largo plazo. Los desarrolladores de WordPress, PrestaShop y de los plugins m\u00e1s usados van dejando de dar soporte a las versiones antiguas de PHP, y antes o despu\u00e9s una actualizaci\u00f3n importante de tu web exigir\u00e1 una versi\u00f3n moderna.<\/p>\n<p>Ni siquiera PHP 8.2 es una buena opci\u00f3n para quedarse: seg\u00fan php.net, deja de recibir correcciones de seguridad el <strong>31 de diciembre de 2026<\/strong>. PHP 8.3, 8.4 y 8.5 seguir\u00e1n recibi\u00e9ndolas durante los pr\u00f3ximos a\u00f1os, seg\u00fan el <a href=\"https:\/\/www.php.net\/supported-versions.php\" target=\"_blank\" rel=\"noopener\">calendario oficial<\/a>. Actualizar ahora, con calma y en un entorno de pruebas, es mucho m\u00e1s c\u00f3modo que hacerlo con prisas la pr\u00f3xima vez que salga un aviso como este.<\/p>\n<h2>Preguntas frecuentes<\/h2>\n<h3>\u00bfQu\u00e9 versiones de PHP corrigen php2shell?<\/h3>\n<p>PHP 8.2.35, 8.3.36, 8.4.27 y 8.5.12, publicadas el 21 de octubre de 2026. Para PHP 7.4, 8.0 y 8.1 solo hay parches excepcionales que deben aplicar tu proveedor o tu distribuci\u00f3n Linux.<\/p>\n<h3>\u00bfC\u00f3mo s\u00e9 qu\u00e9 versi\u00f3n de PHP usa mi web?<\/h3>\n<p>En cPanel, en <em>Seleccionar versi\u00f3n de PHP<\/em> o <em>MultiPHP Manager<\/em>. Si usas WordPress, en <em>Herramientas &gt; Salud del sitio &gt; Informaci\u00f3n &gt; Servidor<\/em>. Si no tienes acceso a ninguno de los dos, tu proveedor de hosting puede dec\u00edrtelo.<\/p>\n<h3>\u00bfMe protege un plugin de seguridad de WordPress?<\/h3>\n<p>No. El ataque act\u00faa antes de que se ejecute el c\u00f3digo de WordPress, as\u00ed que ning\u00fan plugin llega a intervenir. La protecci\u00f3n tiene que estar en el servidor: PHP parcheado y, de forma temporal, un WAF como el de Cloudflare.<\/p>\n<h3>\u00bfEs suficiente con tener Cloudflare?<\/h3>\n<p>No. Cloudflare protege por defecto frente a php2shell (en los planes de pago conviene revisar que el Managed Ruleset est\u00e9 desplegado en modo bloqueo), pero solo reduce el riesgo. La vulnerabilidad sigue en tu servidor hasta que usas una versi\u00f3n de PHP parcheada.<\/p>\n<h3>\u00bfActualizar PHP puede romper mi web?<\/h3>\n<p>Puede pasar si la web usa plugins, m\u00f3dulos o temas muy antiguos. Por eso recomendamos hacer una copia de seguridad, probar el cambio en un entorno de staging y actualizar primero el CMS y sus componentes.<\/p>\n<h3>\u00bfQu\u00e9 versi\u00f3n de PHP deber\u00eda elegir?<\/h3>\n<p>La m\u00e1s reciente que sea compatible con tu web, y como m\u00ednimo PHP 8.3. Si no sabes cu\u00e1l admite tu WordPress o tu PrestaShop, cons\u00faltalo con tu proveedor antes de cambiarla.<\/p>\n<h2>\u00bfNecesitas ayuda con tu web?<\/h2>\n<p>Si eres cliente de k3bone.com y tu web usa una versi\u00f3n antigua de PHP, <a href=\"https:\/\/clientes.k3bone.net\/submitticket.php\" target=\"_blank\" rel=\"noopener\">abre un ticket de soporte<\/a> y la revisamos contigo. Si quieres despreocuparte de este tipo de avisos, en k3bone.com y k3code.com tenemos <a href=\"https:\/\/www.k3bone.com\/es\/mantenimiento-web\/\">planes de mantenimiento web<\/a> y tambi\u00e9n puedes contratar horas sueltas para una revisi\u00f3n puntual.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vulnerabilidad cr\u00edtica en PHP: qu\u00e9 hacer con tu web Esta semana se ha publicado una vulnerabilidad en PHP de las que obligan a dejar lo que est\u00e1s haciendo. En realidad son dos fallos, conocidos ya como php2shell, y afectan al lenguaje sobre el que funcionan WordPress, PrestaShop y la mayor\u00eda de webs que hay en [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":7489,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"footnotes":""},"categories":[2],"tags":[],"class_list":["post-7487","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"featured_image_src":{"landsacpe":["https:\/\/www.k3bone.com\/blog\/wp-content\/uploads\/2026\/10\/phpshell-vulnerabilidad-critica-1140x445.png",1140,445,true],"list":["https:\/\/www.k3bone.com\/blog\/wp-content\/uploads\/2026\/10\/phpshell-vulnerabilidad-critica-463x348.png",463,348,true],"medium":["https:\/\/www.k3bone.com\/blog\/wp-content\/uploads\/2026\/10\/phpshell-vulnerabilidad-critica-300x168.png",300,168,true],"full":["https:\/\/www.k3bone.com\/blog\/wp-content\/uploads\/2026\/10\/phpshell-vulnerabilidad-critica.png",1783,996,false]},"_links":{"self":[{"href":"https:\/\/www.k3bone.com\/blog\/wp-json\/wp\/v2\/posts\/7487","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.k3bone.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.k3bone.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.k3bone.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.k3bone.com\/blog\/wp-json\/wp\/v2\/comments?post=7487"}],"version-history":[{"count":4,"href":"https:\/\/www.k3bone.com\/blog\/wp-json\/wp\/v2\/posts\/7487\/revisions"}],"predecessor-version":[{"id":7493,"href":"https:\/\/www.k3bone.com\/blog\/wp-json\/wp\/v2\/posts\/7487\/revisions\/7493"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.k3bone.com\/blog\/wp-json\/wp\/v2\/media\/7489"}],"wp:attachment":[{"href":"https:\/\/www.k3bone.com\/blog\/wp-json\/wp\/v2\/media?parent=7487"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.k3bone.com\/blog\/wp-json\/wp\/v2\/categories?post=7487"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.k3bone.com\/blog\/wp-json\/wp\/v2\/tags?post=7487"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}