Web Programming

Edición #2 ·

PHP corrige 11 CVE, Next.js lanza 16.3.8 y PHP 8.6 llega a RC: qué parchear, planificar y vigilar (2 de octubre de 2026)

Esta semana en PHP, Laravel, React, TypeScript y Node.js: la actualización de seguridad de PHP con 11 CVE, Next.js 16.3.8, Laravel AI SDK 1.0, una GitHub Action comprometida que volvió a estar activa y modelos de IA de primer nivel a 2 dólares.

En esta página

Bienvenido de nuevo a Web Programming. Cada semana leo las notas de versión, los avisos de seguridad y los changelogs de PHP, Laravel, React, TypeScript y Node.js y los convierto en decisiones: qué parchear ya, qué planificar y qué puede esperar. Cada dato enlaza a su fuente original al final.

Primero, una corrección. La edición #1 decía que el RC1 de PHP 8.6 saldría el 24 de septiembre. No hubo RC1: un script de publicación actualizó los números de versión de la API en el paso equivocado, así que los responsables del release descartaron esa etiqueta. El primer release candidate se llama RC2 y salió el 24 de septiembre, y los siguientes RC suben un número.

TL;DR: tu checklist de esta semana

  • PHP: actualiza a 8.5.11, 8.4.26, 8.3.35 u 8.2.34 (24 de septiembre). Corrigen 11 CVE, entre ellas la filtración de credenciales en redirecciones HTTP.
  • Next.js: actualiza a 16.3.8 o 15.5.27 (30 de septiembre) y prepárate para otra versión pronto: una corrección crítica y otra alta esperan a una dependencia externa.
  • laravel/ai y laravel/mcp: actualiza ambos a 1.0.1 (un SSRF y una redirección abierta).
  • GitHub Actions: elimina o fija por SHA actions-cool/issues-helper y actions-cool/maintain-one-comment, y saca de Node 20 cualquier acción de JavaScript: los runners lo eliminaron el 23 de septiembre.
  • Administradores de Copilot Business o Enterprise: elijan una política por defecto para funciones nuevas antes del 22 de octubre.
  • Calendario: RC3 de PHP 8.6 el 8 de octubre, Node 24 a mantenimiento el 20 de octubre, Node 26 LTS el 28 de octubre y PHP 8.6 final el 19 de noviembre.

1. Parchea ya: seguridad

PHP. El 24 de septiembre PHP publicó versiones de seguridad para todas las ramas con soporte: 8.5.11, 8.4.26, 8.3.35 y 8.2.34, que corrigen 11 avisos. Los que más deberían importar a la mayoría de las aplicaciones web:

  • CVE-2026-91766 (moderada): el wrapper de streams HTTP reenviaba sin cambios las cabeceras Authorization, Cookie y Proxy-Authorization cuando una redirección iba a otro host o puerto, o de HTTPS a HTTP. Si envías credenciales con file_get_contents(), fopen() o un contexto de stream, esta es tuya: follow_location está activado por defecto.
  • CVE-2026-91768 (moderada): PHP-FPM comparaba solo los primeros 12 de los 16 bytes de una dirección IPv6, así que listen.allowed_clients aceptaba toda una red /96. No afecta a sockets Unix, configuraciones solo IPv4 ni a quienes usan un firewall externo.
  • CVE-2026-91767: un desbordamiento de búfer en el heap cuando OpenSSL compara un nombre comodín manipulado en un certificado de servidor.
  • CVE-2026-6103: un desbordamiento de entero en el análisis de TAR de Phar que permite inyectar entradas.

El resto afecta a SOAP, mysqlnd, los filtros de streams y los nombres de dispositivo reservados de Windows.

Next.js. El 30 de septiembre Next.js publicó 16.3.8 (LTS activa) y 15.5.27 (LTS en mantenimiento), que corrigen siete vulnerabilidades. La de severidad alta, CVE-2026-94483, es un server-side request forgery en Image Optimization: una URL remota permitida y controlada por un atacante puede llegar a rangos de IP privados. Si no configuras images.remotePatterns, no te afecta. Las de severidad media cubren envenenamiento de caché en páginas SSG e ISR, rutas de imágenes de metadatos que ignoran dynamicParams en builds con webpack y dos filtraciones de 'use cache', una de las cuales puede exponer contenido de Draft Mode. La de severidad baja conviene conocerla: el endpoint MCP del servidor next dev no comprobaba desde qué sitio web llegaba la petición, así que una página maliciosa que visites mientras desarrollas podía leer la ubicación de tu proyecto, sus rutas y sus logs.

Vercel también dice que la corrección de una vulnerabilidad crítica y otra alta se pospuso por retrasos en una dependencia externa. Cuenta con otra versión de Next.js pronto.

Laravel. Laravel AI SDK 1.0.1 (29 de septiembre) corrige un SSRF de severidad moderada (GHSA-6qhr-3g93-pxhw): los adaptadores de Vercel AI SDK y AG-UI descargaban URLs de archivos enviadas por el cliente sin validarlas. Solo afecta a 1.0.0. Laravel MCP 1.0.1 y 0.9.6 (24 de septiembre) corrigen una redirección abierta de severidad baja en el flujo OAuth (GHSA-mx2h-h55v-pm44). Esta semana no hay avisos nuevos de laravel/framework.

2. Cadena de suministro: volvió una GitHub Action comprometida

  • Mini Shai-Hulud, otra vez: actions-cool/issues-helper y actions-cool/maintain-one-comment, desactivadas en mayo tras el ataque, volvieron a estar disponibles el 16 de septiembre con sus tags maliciosos intactos. Socket cuenta unos 15.000 repositorios que dependen solo de issues-helper. Su consejo: elimínalas o fíjalas a un SHA de commit limpio anterior al 18 de mayo, rota los secretos a los que esos workflows tuvieron acceso desde el 16 de septiembre y busca ejecuciones que de pronto tardaron minutos en lugar de segundos.
  • MemTensor (23 de septiembre): versiones comprometidas de @memtensor/memos-cloud-openclaw-plugin (0.1.21, 0.1.23, 0.1.25) en npm y de MemoryOS 2.0.34 en PyPI incluían un binario de Go que busca en $HOME credenciales de npm, PyPI, GitHub, AWS y SSH. Fíjalas a 0.1.20 y 2.0.33 o elimínalas, y rota los secretos.
  • Node 20 desaparece de GitHub Actions (23 de septiembre): las acciones de JavaScript ahora corren en Node 24 y la opción ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION ya no funciona. Si mantienes una acción, pon runs.using en node24 y publica una versión.
  • Menos tokens de larga duración (30 de septiembre): trusted publishing de npm ya puede gestionar los dist-tags con credenciales OIDC de corta duración. Es un permiso opcional, "Allow npm dist-tag", así que puedes eliminar el token que guardabas solo para los tags.
  • Dinero para los mantenedores (25 de septiembre): la OpenJS Foundation lanzó un Security Stewardship Program. Los miembros que aportan al menos 100.000 dólares al año (Socket y Aikido son los primeros) financian bug bounties y el trabajo de parches y releases de los mantenedores, a partes iguales.

Mi lectura: el patrón de esta semana es que los atacantes van a donde vive la confianza de larga duración: tags, tokens y servidores de desarrollo. Fija por SHA, prefiere credenciales de corta duración y no des por hecho que localhost es privado.

3. PHP 8.6: release candidate, funciones congeladas y nuevos valores de sesión

El calendario actual: el RC2 salió el 24 de septiembre; después vienen el RC3 el 8 de octubre, el RC4 el 22 de octubre, el RC5 el 5 de noviembre y la versión final el 19 de noviembre. El congelamiento total de funciones fue el 22 de septiembre, así que la lista ya está cerrada: aplicación parcial de funciones, clamp(), una clase Time\Duration, una nueva API de polling Io\Poll, constructores de URI y reanudación de sesiones TLS y early data en los streams de OpenSSL.

El cambio que más probablemente te afecte son los nuevos valores por defecto de las sesiones:

  • session.use_strict_mode ahora vale 1.
  • session.cookie_httponly ahora vale 1, así que JavaScript ya no puede leer la cookie de sesión.
  • session.cookie_samesite ahora vale "Lax".

Entre las nuevas deprecaciones están return dentro de finally, devolver un valor desde __construct() o __destruct(), el tercer argumento de define(), spl_object_hash() (usa spl_object_id()), is_double(), is_long(), is_integer() y doubleval(), strcoll(), SORT_LOCALE_STRING, metaphone() y mbregex.

Mi recomendación: añade el RC de 8.6 a tu matriz de CI ahora y busca la configuración de sesiones y estas funciones. La mayoría de los proyectos se toparán antes con el cambio de la cookie de sesión que con cualquier otra cosa.

4. Laravel: AI SDK 1.0 y un septiembre intenso

Laravel AI SDK 1.0 (23 de septiembre) añade clasificación, streaming con los protocolos de Vercel AI y AG-UI, herramientas que requieren aprobación humana (Approvable), ToolSearch para cargar herramientas poco usadas solo cuando hacen falta, una herramienta de proveedor CodeExecution y middleware que se ejecuta en cada paso de generación. También rompe cosas: las llamadas a herramientas y sus resultados pasan a una única columna steps, el uso de tokens ahora se llama inputTokens y outputTokens, y cambiaron los protocolos de streaming. Laravel sugiere el comando /upgrade-ai-sdk-v1 del servidor MCP de Boost para la migración. Ve directo a 1.0.1.

Laravel 13.34.0 (29 de septiembre): los fallos del worker ahora cuentan para maxExceptions, los jobs pueden recibir un aviso antes de agotar su tiempo, JobProcessed incluye la duración del job, queue:flush acepta --queue y llega Schema\Builder::getColumn().

La actualización de producto de septiembre (2 de octubre) añade a Laravel Cloud entornos de vista previa por pull request, métricas de peticiones y usuarios de base de datos gestionados, además de configuración de proveedores de IA en tiempo de ejecución para claves por cliente, búsqueda semántica e híbrida en el motor Typesense de Scout, broadcasting con Mercure en Echo, y copyToDisk() y moveToDisk().

5. JavaScript y TypeScript: semana más tranquila, pero planifica esto

  • Node.js: el calendario se mantiene. Node 24 pasa a mantenimiento el 20 de octubre y Node 26 pasa a LTS activo el 28 de octubre.
  • TypeScript 7.1: la versión que recupera una API estable (Content Mapper, Emit y Language Service). Su beta, prevista para el 6 de octubre, se retrasa unas dos semanas para probar mejor la API. Los equipos de Vue, Svelte y Angular que esperan esa API deberían seguir en 6.0 un poco más.
  • Vite+ 1.0 (28 de septiembre): un comando vp con licencia MIT que une Vite 8, Vitest, Rolldown, Oxlint y Oxfmt, tsdown y un ejecutor de tareas para monorepos en una sola configuración. El equipo aclara que no sustituye a Vite.
  • React: ninguna versión nueva desde la 19.3 del 9 de septiembre.

6. Herramientas de IA para programar: los modelos de primer nivel bajaron de precio

  • Claude Sonnet 5.5 (28 de septiembre): 2 dólares por millón de tokens de entrada y 10 por millón de salida. Anthropic dice que es más de un 30% más rápido que Sonnet 5 y cuesta hasta un 30% menos en la mayoría de las tareas. Ya está disponible en GitHub Copilot.
  • GPT-6.1 Sol (OpenAI DevDay, 29 de septiembre): los mismos 2 y 10 dólares, presentado como inteligencia "casi al nivel de Astra por una quinta parte del precio". Está en la API como gpt-6.1-sol, en Codex y en Copilot para Pro+, Max, Business y Enterprise.
  • Los agentes salen del editor: el uso del ordenador de Copilot (vista previa pública, 1 de octubre) controla aplicaciones de escritorio desde la CLI y la app de Copilot en macOS y Windows, y pide aprobación antes de controlar una app. La Agents API de OpenAI añadió uso del ordenador. JetBrains Air (acceso anticipado, 2 de octubre) ejecuta varios agentes en paralelo dentro de los IDE de JetBrains, con soporte de serie para Codex, Gemini, Copilot, Claude Agent y Junie.
  • Administradores: desde el 22 de octubre, Copilot Business y Enterprise aplican una política por defecto a cada función elegible, política de code review y servidor MCP que no hayas configurado. Elige Enabled, Disabled o "Let organizations decide" en AI Controls.

Los resultados completos de la Stack Overflow Developer Survey 2026 llegarán "en los próximos días". Su encuesta rápida de abril ya mostraba que el uso de agentes de IA casi se duplicó: 59%, frente al 31% de la encuesta de 2025.

Mi lectura: el precio por token bajó, pero los agentes gastan muchos más tokens por tarea. Presupuesta por tarea, no por token.

7. Empleo: los números

  • Empleo en EE. UU. (2 de octubre): las nóminas crecieron en 29.000 puestos en septiembre y el desempleo fue del 4,2%. Julio y agosto se revisaron a la baja en 60.000 puestos en conjunto. Información y servicios profesionales y empresariales apenas cambiaron.
  • Despidos (1 de octubre): las empresas tecnológicas anunciaron 10.799 recortes en septiembre, un 77% más que en agosto, y 165.925 en lo que va de año, un 54% más que en 2025. La IA se citó como motivo de 3.961 recortes en septiembre y de 120.136 este año, alrededor del 21% de todos los anunciados.
  • Ofertas: el índice de ofertas de desarrollo de software de Indeed en EE. UU. estaba en 77,32 el 18 de septiembre (febrero de 2020 = 100), todavía alrededor de un 23% por debajo del nivel prepandemia.

Estable, no en caída. La ventaja es para los ingenieros que demuestran que entregan con seguridad: con parches al día, tests y atención a la cadena de suministro.

Una cosa para hacer esta semana

Busca en tus workflows actions-cool/issues-helper y actions-cool/maintain-one-comment, y fija todas las acciones de terceros a un SHA de commit completo. Son diez minutos y cierran la puerta por la que entró el ataque de esta semana.

Esa fue la edición #2. Si te ahorró tiempo, sigue a Web Programming en LinkedIn o lee todas las ediciones en webprg.com. Y cuéntame en los comentarios: ¿fijas tus GitHub Actions a SHAs de commit?

Fuentes