# WordPress 7.1.4 corrige un fallo que deja ejecutar código sin cuenta

*El fallo permite ejecutar código en el servidor sin iniciar sesión si un atacante alcanza la carpeta temporal mientras se actualiza el núcleo de WordPress. La versión 7.1.4 lo corrige; bloquear el acceso web a wp-content/upgrade/ añade protección durante el proceso.*

Por Índigo Claudio (IA), revisado por Carlos Sánchez

Publicado el 28 de octubre de 2026, 20:48 · Revisado el 28 de octubre de 2026, 21:39

<https://seomanal.es/software/wordpress-7-1-4-corrige-22-fallos-de-seguridad-uno-al-actualizar/>

![php entrando sin permiso](https://seomanal.es/uploads/articulos/2-558788d53ca67679.webp)

El problema está en `wp-content/upgrade/`, la carpeta donde WordPress descomprime los archivos antes de instalarlos. Durante una actualización del núcleo, allí queda una copia temporal de WordPress con su instalador. Si esa ruta es accesible desde internet, un atacante que llegue a tiempo puede usar ese instalador para ejecutar sus propias instrucciones en el servidor y alterar la web sin tener una cuenta.

Según el [análisis de Patchstack](https://patchstack.com/articles/wordpress-7-1-4-security-release/), aprovecharlo es difícil: hay que acertar con la ruta y con los pocos segundos en que está disponible. Aun así, también puede ocurrir durante una actualización automática que use una versión vulnerable.

## Cómo lo corrige WordPress 7.1.4

WordPress publicó el parche el 28 de octubre y [recomienda actualizar cuanto antes](https://wordpress.org/news/2026/10/wordpress-7-1-4/). La versión 7.1.4 hace más difícil adivinar el nombre de la carpeta temporal, mantiene el archivo que evita mostrar su contenido como una lista y evita copiar a la web un archivo de configuración que alguien haya creado allí. Son las tres medidas que recoge el [cambio de código](https://github.com/WordPress/wordpress-develop/commit/e7b33f536d308e9656442677edefdcfe1d4fa130).

## Bloquea el acceso a la carpeta y comprueba la actualización

1. **Antes de actualizar, pide al alojamiento que bloquee el acceso web a `wp-content/upgrade/` y a los archivos de su interior.** WordPress necesita trabajar en esa carpeta, pero no necesita que pueda abrirse desde internet. Según Patchstack, un cortafuegos que funciona como plugin no protege esta copia temporal, porque carga sus propios archivos.
2. **Haz una copia de seguridad e instala el parche.** En Escritorio › Actualizaciones, comprueba que ha quedado instalada la 7.1.4 o la versión corregida de tu rama. No des por hecho que la actualización automática ya se ha ejecutado. Si saltas desde una versión antigua, revisa también la compatibilidad de los plugins y del tema.
3. **Mantén el bloqueo después de actualizar.** Es una protección adicional que impide acceder desde fuera a los archivos temporales. Pide que se compruebe el acceso a los archivos, no solo que haya desaparecido el listado de la carpeta.

Si gestionas el servidor, estos son ejemplos para una instalación de WordPress en la raíz del dominio:

- **Apache:** `RedirectMatch 403 ^/wp-content/upgrade/` en el `.htaccess` de la raíz, si el servidor permite esa directiva. No lo pongas dentro de la carpeta temporal: WordPress la vacía.
- **nginx:** `location ^~ /wp-content/upgrade/ { deny all; }` en la configuración del sitio. Valida la configuración antes de recargarla.

Ajusta las rutas si WordPress está en una subcarpeta o has cambiado el nombre de `wp-content`.

## Las versiones antiguas y los demás fallos

WordPress ha preparado parches para las ramas antiguas hasta la 4.7, aunque su distribución es progresiva. En la comprobación de la [API de versiones](https://api.wordpress.org/core/version-check/1.7/) realizada hacia las 21:20 del 28 de octubre, las ramas 4.7 a 6.5 seguían ofreciendo la versión anterior al parche. Comprueba la disponibilidad de tu rama; la 4.6 y anteriores no recibirán estas correcciones y requieren una migración. Bloquear la carpeta no resuelve los demás fallos.

La actualización corrige [22 vulnerabilidades en total](https://wordpress.org/documentation/wordpress-version/version-7-1-4/). Muchas de las restantes permiten guardar código malicioso usando una cuenta con permisos de colaborador o superiores. Conviene retirar permisos que ya no se necesiten y conservar las publicaciones si se elimina una cuenta. También se corrige una filtración de cambios del Personalizador aún no publicados, accesible sin iniciar sesión.

Para el SEO, una web comprometida puede acabar con páginas o enlaces de spam. Revisa el informe [Problemas de seguridad de Search Console](https://support.google.com/webmasters/answer/9044101?hl=es) por si Google ha detectado algo; que no haya avisos no garantiza que la web esté limpia.

## Referencias

1. Apache (s. f.). *Apache HTTP Server 2.4 — mod\_alias: RedirectMatch*. httpd.apache.org. <https://httpd.apache.org/docs/2.4/mod/mod_alias.html#redirectmatch> (Sintaxis, códigos HTTP y permiso FileInfo para usar la directiva en .htaccess.)
2. Google (s. f.). *Informe «Problemas de seguridad»*. Ayuda de Google. <https://support.google.com/webmasters/answer/9044101?hl=es>
3. Google (s. f.). *Políticas de spam: contenido pirateado*. Google Search Central. <https://developers.google.com/search/docs/essentials/spam-policies?hl=es#hacked-content>
4. HOL (2026, 28 de octubre). *WordPress 7.1.4: upgrade race RCE*. hol.org. <https://hol.org/guard/security/campaigns/wordpress-7-1-4-security-release-upgrade-race-rce> (HOL no recogía CVE publicados ni ataques conocidos a las 18:50 UTC del 28 de octubre; límites de exposición del actualizador.)
5. Jong, D. (2026, 28 de octubre). *WordPress 7.1.4 Security Release*. patchstack.com. <https://patchstack.com/articles/wordpress-7-1-4-security-release/> (Patchstack. Mecanismo, complejidad de ataque y cortafuegos; la disponibilidad anunciada no coincidía con la API y las descargas comprobadas a las 21:10 del 28 de octubre.)
6. Jorbin, A. (2026, 28 de octubre). *WordPress 7.1.4*. WordPress.org. <https://wordpress.org/news/2026/10/wordpress-7-1-4/> (fuente principal)
7. nginx (s. f.). *ngx\_http\_access\_module — deny*. nginx.org. <https://nginx.org/en/docs/http/ngx_http_access_module.html#deny> (Bloqueo de acceso con deny all; ejemplo contrastado con documentación, sin prueba en servidor.)
8. nginx (s. f.). *ngx\_http\_core\_module — location*. nginx.org. <https://nginx.org/en/docs/http/ngx_http_core_module.html#location> (Selección de ubicaciones y modificador ^\~.)
9. WordPress (2026, 28 de octubre). *Upgrade/Install: Improve the handling of the upgrade working directory (commit, rama 7.1)*. GitHub. <https://github.com/WordPress/wordpress-develop/commit/e7b33f536d308e9656442677edefdcfe1d4fa130> (Fuente primaria del mecanismo: nombre previsible, index.php borrado, wp-config.php)
10. WordPress (s. f.). *wp-admin/includes/file.php (rama 7.1)*. raw.githubusercontent.com. <https://raw.githubusercontent.com/WordPress/wordpress-develop/7.1/src/wp-admin/includes/file.php> (wp\_tempnam() añade 6 caracteres al azar al paquete descargado)
11. WordPress.org (2026, 14 de octubre). *Upgrading WordPress*. developer.wordpress.org. <https://developer.wordpress.org/advanced-administration/upgrade/upgrading/> (Actualización de la documentación: copias de seguridad, saltos de versión y configuración mediante constantes y filtros.)
12. WordPress.org (2026, 28 de octubre). *API version-check 1.7*. api.wordpress.org. <https://api.wordpress.org/core/version-check/1.7/> (Consultada hacia las 20:45: versiones ofrecidas por rama y PHP mínimo)
13. WordPress.org (2026, 28 de octubre). *Enlace del post de WordPress en LinkedIn*. wp.me. <https://wp.me/pZhYe-5Ha> (Redirige al anuncio)
14. WordPress.org (2026, 28 de octubre). *Releases*. wordpress.org. <https://wordpress.org/download/releases/> (Fecha de la 7.1.4)
15. WordPress.org (2026, 28 de octubre). *Version 7.1.4 (HelpHub)*. wordpress.org. <https://wordpress.org/documentation/wordpress-version/version-7-1-4/> (Lista de los 22 fallos con roles y tabla de ramas)
16. WordPress.org (2026, 28 de octubre). *Zip de la 6.5.14*. wordpress.org. <https://wordpress.org/wordpress-6.5.14.zip> (404 a las 21:10 (igual 6.4.14, 5.9.20 y 4.7.39))
17. WordPress.org (s. f.). *Roles and Capabilities — Plugin Handbook*. developer.wordpress.org. <https://developer.wordpress.org/plugins/users/roles-and-capabilities/> (Rol de suscriptor predeterminado y capacidades personalizadas.)
18. WordPress.org (s. f.). *Roles and Capabilities*. wordpress.org. <https://wordpress.org/documentation/article/roles-and-capabilities/> (Permisos de colaborador y suscriptor; consultada el 28 de octubre de 2026.)
19. WordPress.org (s. f.). *confirm\_delete\_users()*. developer.wordpress.org. <https://developer.wordpress.org/reference/functions/confirm_delete_users/> (Opciones de conservación del contenido al eliminar usuarios en Multisite.)
20. WordPress.org (s. f.). *wp-config.php*. developer.wordpress.org. <https://developer.wordpress.org/advanced-administration/wordpress/wp-config/> (Constantes de actualizaciones automáticas)
21. WordPress.org (s. f.). *wp\_delete\_user()*. developer.wordpress.org. <https://developer.wordpress.org/reference/functions/wp_delete_user/> (Eliminación de usuarios y reasignación del contenido.)
