PHP · 8 min de lectura · Actualizada el 25 oct 2026

Laravel 11 ya no recibe parches: la falla de autenticación de octubre y cómo migrar

Una falla crítica en el TokenGuard de Laravel permite entrar a una API como otro usuario sin conocer su token. Laravel 12 y 13 ya tienen parche; Laravel 11 está fuera de soporte desde marzo de 2026 y no lo tendrá. Cómo saber si te afecta y cómo migrar.

¿Qué falla de seguridad de Laravel salió en octubre de 2026?

El 19 de octubre de 2026 Laravel publicó CVE-2026-114509, una falla crítica (CVSS 9.2) en el TokenGuard: alguien sin cuenta puede entrar como otro usuario sin conocer su token. Afecta a versiones anteriores a 12.68.0 y a 13.x antes de 13.29.0 con MySQL o MariaDB. Laravel 11 no tendrá parche.

Según el aviso oficial GHSA-f9x3-7vq9-cph6, el atacante manda una credencial que no es texto. Al buscar al usuario en la base de datos, ese valor se maneja mal y la consulta encuentra el registro de otra persona. El resultado es tomar la cuenta de cualquier usuario en las rutas protegidas por ese guard. El aviso no da medidas temporales: la única corrección es actualizar.

No fue la única. Esta es la lista de avisos de octubre que importan a un proyecto Laravel típico:

AvisoPaqueteGravedadAfectadasCorregida en
CVE-2026-114509, entrar como otro usuario (TokenGuard)laravel/frameworkcrítica, CVSS 9.2antes de 12.68.0 y 13.x antes de 13.29.0, con MySQL o MariaDB12.68.0 · 13.29.0
CVE-2026-114508, una ruta de lectura puede borrar datos de una tabla relacionadalaravel/frameworkmedia, CVSS 6.5desde 12.45.0 y antes de 13.27.012.68.0 · 13.27.0
GHSA-mhf7-xp6r-6qrc, saltarse «#[Authorize]»livewire/livewiremedia, CVSS 6.5desde 4.3.0 y antes de 4.4.8 (3.x no está afectada)4.4.8
CVE-2026-108082, una cabecera «Cache-Control» consume CPU (ReDoS)symfony/http-foundationsin calificación oficial5.4, 6.4, 7.4 y 8.x antes de las versiones corregidas5.4.54 · 6.4.48 · 7.4.21 · 8.1.9

La segunda falla, según el aviso GHSA-5wcm-3v2w-8362, permite que una petición a una ruta de solo lectura vacíe una tabla relacionada, sin permisos de escritura. La de Livewire deja ejecutar acciones protegidas con «#[Authorize]» sobre registros ajenos, por ejemplo borrar el comentario de otro usuario. La de Symfony llega a Laravel porque usa ese componente para leer cada petición: una cabecera hecha a propósito gasta casi un segundo de CPU. Ojo: Symfony avisa que la primera versión corregida tenía un error, así que en 6.4, 7.4 y 8.1 hay que llegar a 6.4.48, 7.4.21 u 8.1.9.

¿Por qué Laravel 11 no va a recibir el parche?

Porque su soporte terminó. Laravel da 18 meses de correcciones y 2 años de parches de seguridad a cada versión mayor. Laravel 11 salió el 12 de marzo de 2024 y su soporte de seguridad terminó el 12 de marzo de 2026, según la política de soporte de Laravel. El aviso del TokenGuard cubre todas las versiones anteriores a 12.68.0 y solo publica arreglo para 12 y 13.

VersiónPHP soportadoCorrecciones hastaSeguridad hasta
Laravel 108.1 a 8.36-ago-20244-feb-2025
Laravel 118.2 a 8.43-sep-202512-mar-2026
Laravel 128.2 a 8.513-ago-202624-feb-2027
Laravel 138.3 a 8.5tercer trimestre de 2027primer trimestre de 2028

Hay una segunda fecha que pega a los mismos proyectos: PHP 8.2 deja de recibir parches el 31 de diciembre de 2026, según la tabla de versiones de PHP. Muchos sistemas en Laravel 11 corren en PHP 8.2. Si es tu caso, conviene planear juntos el cambio de framework y el de PHP. Lo explicamos en cómo actualizar PHP a 8.4 sin romper producción.

¿Cómo reviso si mi proyecto Laravel está afectado?

Todo está en el archivo «composer.lock», que dice la versión exacta instalada de cada paquete. Revísalo en el servidor de producción, no solo en tu máquina, porque a veces no coinciden.

Versiones instaladas y avisos conocidos
composer show laravel/framework livewire/livewire symfony/http-foundation
composer audit                 # cruza composer.lock con la base de avisos de seguridad
php artisan about              # versión de Laravel, PHP y drivers en uso
grep -n "'driver'" config/auth.php   # ¿algún guard usa el driver 'token'?
  1. Laravel: si «laravel/framework» está en 11.x o antes, o en 12.x antes de 12.68.0, o en 13.x antes de 13.29.0, estás en el rango del TokenGuard.
  2. Configuración: la falla aplica cuando tienes un guard con el driver «token» (el TokenGuard integrado) y tu base de datos es MySQL o MariaDB. Si tu API usa otro mecanismo, el riesgo de esta falla en particular baja, pero el resto de los avisos sigue aplicando.
  3. Livewire: si usas la versión 4 entre 4.3.0 y 4.4.7 y tus componentes tienen «#[Authorize]», actualiza a 4.4.8. Mientras tanto, «$this->authorize()» dentro del método no está afectado.
  4. Symfony: revisa la versión de «symfony/http-foundation» contra la tabla de arriba.
  5. Resto del servidor: la versión de PHP también cuenta. Si corre en una versión afectada por PHP2Shell, atiende eso primero.

¿Cómo migrar de Laravel 11 a 12 y a 13 sin romper la API?

La buena noticia: los saltos de Laravel recientes son chicos. La guía oficial de 11 a 12 estima 5 minutos y la de 12 a 13 10 minutos para una aplicación limpia. En un sistema real con paquetes de terceros y código de años toma más, pero sigue siendo de días, no de meses. Así lo hacemos por etapas:

  1. Sube primero a Laravel 12.68.0 o posterior. Es el paso más corto que cierra el TokenGuard y el borrado de datos, y Laravel 12 tiene parches de seguridad hasta el 24 de febrero de 2027. En «composer.json»: «laravel/framework» a «^12.0», «phpunit/phpunit» a «^11.0» y «pestphp/pest» a «^3.0». Laravel 12 exige Carbon 3.
  2. Revisa los cambios de 11 a 12 que suelen pegar: «HasUuids» ahora genera UUID versión 7, la regla «image» ya no acepta SVG por defecto y el disco «local» apunta a «storage/app/private» si no lo defines.
  3. Corre las pruebas y un recorrido manual de la API en un ambiente de pruebas: login, emisión de tokens, permisos por rol y las rutas que exponen datos.
  4. Publica por etapas y deja listo el regreso: la versión anterior desplegada en paralelo o un despliegue que se revierte en minutos.
  5. Después planea Laravel 13. Pide PHP 8.3 o superior, así que va de la mano con dejar PHP 8.2. Los cambios de mayor impacto son la protección CSRF renombrada a «PreventRequestForgery» (ahora valida el origen con la cabecera «Sec-Fetch-Site») y las dependencias: «laravel/tinker» a «^3.0», «phpunit/phpunit» a «^12.0» y «pestphp/pest» a «^4.0».
  6. En Laravel 13, decide con cuidado los valores nuevos de seguridad: «serializable_classes» en caché y sesiones en «json». Cambiar la sesión de «php» a «json» cierra la sesión de todos tus usuarios, así que hazlo en una ventana planeada.

Una vez al día con el framework, la seguridad de Laravel se mantiene con poco: «composer audit» en cada despliegue, alertas de tus paquetes y actualizaciones menores cada mes. Publicamos las fallas relevantes de la semana en alertas.

Cuéntanos qué versión de Laravel y de PHP usas y dónde está alojado. Si puedes, ten a la mano el composer.lock de producción.

Revisar mi proyecto Laravel

Preguntas frecuentes

¿Qué es CVE-2026-114509?

Es una falla crítica (CVSS 9.2) en el TokenGuard de Laravel, publicada el 19 de octubre de 2026. Con MySQL o MariaDB, un atacante sin cuenta puede entrar como otro usuario sin conocer su token.

¿Laravel 11 va a recibir parche para el TokenGuard?

No. Laravel 11 dejó de recibir parches de seguridad el 12 de marzo de 2026 y el aviso solo publica arreglo para 12.68.0 y 13.29.0. La salida es actualizar a Laravel 12 o 13.

¿Cómo sé qué versión de Laravel tengo?

Con «php artisan about» o «composer show laravel/framework» en el servidor. También aparece en el archivo composer.lock, buscando el paquete laravel/framework.

¿Me afecta si uso PostgreSQL o Sanctum?

El aviso menciona como afectadas las configuraciones con MySQL y MariaDB y el TokenGuard integrado. Si usas otra base de datos u otro mecanismo de tokens, esta falla en particular no te aplica según el aviso, pero conviene actualizar igual por las otras fallas de octubre.

¿Ya se está explotando la falla de Laravel?

Al 25 de octubre de 2026 no hay reportes de explotación y no está en el catálogo KEV de CISA. El aviso es público, así que lo prudente es actualizar ya.

¿Cuánto tarda migrar de Laravel 11 a 12?

Laravel estima 5 minutos para una aplicación sin cambios raros. En un sistema real con paquetes de terceros suele ser cuestión de días, sobre todo por las pruebas.

¿Laravel 13 funciona con PHP 8.2?

No. Laravel 13 pide PHP 8.3 o superior. Como PHP 8.2 pierde soporte el 31 de diciembre de 2026, conviene planear los dos cambios juntos.

Fuentes

Escrita por Samuel Hinojosa y el equipo de seguridad de WITS · Actualizada el 25 oct 2026 · Markdown

Sigue leyendo

Todas las guías

Todas las guías →

Contacto

¿Lo revisamos en tu empresa?

Cuéntanos qué usas (nube, servidores, PHP, WordPress) y te decimos qué revisaríamos primero.

Guadalajara, Jalisco, México

También por WhatsApp al +52 56 6107 7931, o a ventas@wits.mx.

Usamos tus datos solo para responderte. Aviso de privacidad.