TanStack corrige un XSS reflejado sin autenticación en Start, Qwik repara una falla que apaga cualquier servidor con una sola solicitud, Claude Code cierra un bypass que anulaba la verificación de hash en sus plugins, OpenNext para Cloudflare detiene una fuga de caché en rutas protegidas, Backstage y dos frameworks más reciben parches moderados, Cloudflare publica mantenimiento diario en workerd, y el rastreo comunitario de paquetes maliciosos suma al menos 13 entradas nuevas en npm y PyPI.
Un enlace manipulado basta para que un atacante sin cuenta inyecte código en cualquier aplicación construida sobre TanStack Start, según el aviso que GitHub revisó el 15 de octubre.
El GitHub Advisory Database revisó y actualizó, el 15 de octubre de 2026, el aviso GHSA-qx66-fv34-fjm8 (CVE-2026-102989, CVSS 3.1 de 9.3, severidad crítica) para @tanstack/react-start, @tanstack/solid-start, @tanstack/vue-start y @tanstack/start-server-core, los paquetes de npm que sostienen TanStack Start, el framework full-stack que corre sobre TanStack Router y que equipos de React, Solid y Vue usan para funciones de servidor. Según la descripción oficial, el transporte de las funciones de servidor permite que campos del cuerpo de la solicitud terminen en el estado interno del middleware en vez de limitarse a los campos públicos esperados; una carga malformada puede dejar un resultado controlado por el atacante en la ruta de error, y el manejo de la respuesta puede terminar tratando ese objeto como si fuera una respuesta HTTP válida. El resultado, según el aviso, es que un atacante sin autenticar puede construir una URL hacia una función de servidor de la aplicación afectada; si la víctima abre ese enlace, la aplicación devuelve HTML controlado por el atacante desde su propio origen, y el código JavaScript del atacante corre ahí con acceso a los datos del mismo origen y a la sesión de quien hizo clic. La empresa Lovable ayudó a reportar la falla, según el crédito que el propio aviso otorga. TanStack Start es uno de los frameworks full-stack de JavaScript que más ha crecido en 2026 como alternativa a Next.js, y el aviso aclara que el ataque no exige que la víctima tenga sesión iniciada ni que el atacante tenga credenciales -solo que alguien abra un enlace-, lo que amplía el universo de aplicaciones expuestas frente a una falla que requiriera autenticación previa. Las versiones corregidas son @tanstack/react-start 1.168.60, @tanstack/solid-start 1.168.57, @tanstack/vue-start 1.168.56 y @tanstack/start-server-core 1.169.39, según el mismo aviso, que además ofrece dos mitigaciones temporales para quien no pueda actualizar de inmediato: bloquear solicitudes a la ruta de funciones de servidor que no incluyan el encabezado x-tsr-serverFn, o aplicar una política de seguridad de contenido restrictiva a esas respuestas -aunque el propio aviso advierte que ese encabezado lo controla el cliente y no sustituye una verificación de autenticación real. La información de este caso proviene únicamente del aviso oficial de GitHub y del registro de cambios del proyecto en GitHub, sin cobertura cruzada de un medio de seguridad especializado al cierre de esta edición. TanStack Start no tiene, por ahora, una base de usuarios tan extendida en empresas de desarrollo de software costarricenses como Next.js o Express, pero equipos de agencias digitales y startups ticas que ya adoptaron el framework como apuesta de crecimiento deberían actualizar a la versión corregida antes de su próximo despliegue, sin que se conozca un caso costarricense afectado al cierre de esta edición.
El GitHub Advisory Database revisó y actualizó, el 15 de octubre de 2026, el aviso GHSA-x586-xvc8-g7q6 (CVE-2026-84994, CVSS 4.0 de 8.7, severidad alta) para @builder.io/qwik y @qwik.dev/core, los paquetes npm del framework de JavaScript que compila componentes con hidratación perezosa. Según la descripción oficial, el analizador de estado qwik-json llama a Promise.resolve() sobre el campo interno _resolved de cualquier Resource; si ese campo es un objeto plano cuya propiedad .then apunta a un QRL -el identificador perezoso que usa Qwik para cargar código- de un símbolo que no está registrado, el QRL asíncrono rechaza la promesa, y como nada captura ese rechazo, la política por defecto de Node.js para rechazos sin manejar termina el proceso completo. El propio aviso resume el impacto en una frase: basta "one unauthenticated HTTP request" para apagar cualquier réplica del servidor, y repetir la solicitud mantiene caída cada réplica que el atacante alcance. El investigador simonkoeck reportó la falla, publicada el 22 de setiembre de 2026 por el mantenedor Varixo en el repositorio de QwikDev/qwik. Que una sola solicitud sin autenticar pueda terminar un proceso de Node.js -no degradarlo, apagarlo del todo- convierte esta falla en una vía directa de denegación de servicio para cualquier aplicación de Qwik expuesta a internet sin un supervisor que reinicie el proceso automáticamente. Equipos que corran Qwik detrás de un orquestador como Kubernetes o PM2, con reinicio automático, ven acotado el impacto a una breve interrupción por cada ráfaga de solicitudes, pero igual quedan expuestos a una denegación de servicio sostenida si el atacante mantiene el tráfico constante. La corrección llegó en @builder.io/qwik 1.20.0 y @qwik.dev/core 2.0.0-beta37, según el mismo aviso. La información de este caso proviene únicamente del aviso oficial de GitHub y del registro de cambios del proyecto, sin cobertura cruzada de un medio de seguridad especializado al cierre de esta edición. Qwik es un framework de nicho frente a React o Vue en el mercado costarricense de desarrollo web, por lo que el riesgo práctico local es bajo, sin que se conozca un caso costarricense afectado al cierre de esta edición.
— Un objeto malformado en el cuerpo de una solicitud HTTP corriente basta para terminar cualquier proceso de Qwik en su configuración por defecto, según el aviso que GitHub revisó el 15 de octubre.
El GitHub Advisory Database revisó y actualizó, el 15 de octubre de 2026, el aviso GHSA-pq7j-f95f-qfcv (CVE-2026-86063, CVSS 4.0 de 7.5, severidad alta) para @anthropic-ai/claude-code, el paquete npm del asistente de programación en terminal de Anthropic. Según la descripción oficial, el flujo de instalación de plugins de Claude Code y Claude Desktop ejecutaba git checkout sobre el hash de commit fijado por el marketplace del plugin, pero nunca verificaba que el HEAD resultante coincidiera con ese mismo hash de 40 caracteres. Eso abría una puerta a quien controlara el repositorio de origen del plugin: bastaba crear una rama de Git con el mismo nombre que el hash fijado para que el checkout resolviera, en silencio, la punta de esa rama -con el código que el atacante quisiera- en vez del commit que el usuario había revisado y aprobado. Or Nevo Michrowski, de la firma Air Security, reportó la falla. El propio nombre del mecanismo que falló -hash pinning, fijar un plugin a un commit específico para que no cambie sin que el usuario lo note- es la promesa central de cualquier sistema de verificación de integridad en una cadena de suministro de software. Que esa promesa se pudiera romper con un truco tan simple como nombrar una rama igual a un hash, sin tocar el código del plugin en sí, es un recordatorio de que fijar una versión no basta si el mecanismo que lee esa fijación no valida lo que realmente descargó contra lo que dice haber descargado. La corrección llegó en la versión 2.1.179 del paquete; los usuarios con actualización automática ya la recibieron, según el propio aviso, mientras que quienes actualizan de forma manual deben instalar esa versión o una posterior para cerrar la brecha. La información de este caso proviene únicamente del aviso oficial de GitHub, sin cobertura cruzada de un medio de seguridad especializado al cierre de esta edición. Equipos de desarrollo costarricenses que ya incorporaron Claude Code como asistente de código en su flujo de trabajo diario deberían confirmar que corren la versión 2.1.179 o posterior antes de instalar cualquier plugin de terceros, sin que se conozca un caso costarricense afectado al cierre de esta edición.
El GitHub Advisory Database revisó y actualizó, el 15 de octubre de 2026, el aviso GHSA-2vc4-c4r6-p6v6 (CVE-2026-100409, CVSS 3.1 de 7.5, severidad alta) para @opennextjs/cloudflare, el adaptador de código abierto que despliega aplicaciones Next.js sobre Cloudflare Workers. Según la descripción oficial, cuando un equipo activa la opción enableCacheInterception, el comparador de rutas del middleware y la búsqueda en caché interpretan de forma distinta una misma ruta con caracteres codificados en porcentaje: una solicitud a /%61dmin no calza contra el patrón de middleware /admin/:path*, pero la capa de caché la decodifica a /admin y devuelve la respuesta ya guardada para esa ruta protegida, sin que el middleware de autorización llegue a ejecutarse. El aviso describe un caso todavía más grave con rutas parcialmente codificadas como /%61dmin/%ZZ, donde el código anterior decodificaba cada segmento por separado y dejaba el segmento inválido sin tocar, lo que permitía usar una ruta a medio decodificar para la búsqueda en caché. El propio aviso aclara que la interceptación de caché viene apagada por defecto, así que el riesgo real se concentra en equipos que la activaron explícitamente y que, además, dependen del middleware -y no de una verificación dentro de cada controlador de ruta- para proteger contenido sensible. Esa combinación de condiciones acota el universo de aplicaciones expuestas, pero no lo elimina, porque activar esa opción es precisamente lo que un equipo haría para mejorar el rendimiento de una aplicación con mucho tráfico en el borde de Cloudflare. La versión 1.20.2 del proyecto unifica el manejo de rutas codificadas entre el middleware y la búsqueda en caché, y rechaza, en vez de decodificar a medias, cualquier ruta mal formada. La información de este caso proviene únicamente del aviso oficial de GitHub y de las notas de la versión del proyecto, sin cobertura cruzada de un medio especializado al cierre de esta edición. Costa Rica no aloja una región de Cloudflare, pero agencias digitales y startups ticas que despliegan aplicaciones Next.js sobre Cloudflare Workers con esta opción de caché activada deberían confirmar su configuración de middleware antes del próximo despliegue, sin que se conozca un caso costarricense afectado al cierre de esta edición.
El GitHub Advisory Database revisó y actualizó, el 15 de octubre de 2026, el aviso GHSA-3xr5-8w6c-p5gw (CVE-2026-106495, CVSS 3.1 de 4.3, severidad moderada) para @backstage/backend-defaults, el paquete npm del backend por defecto de Backstage, la plataforma de desarrollo interno de código abierto que Spotify donó a la Cloud Native Computing Foundation y que equipos de plataforma usan para centralizar catálogos de servicios, plantillas y automatizaciones. Según la descripción oficial, un operador puede excluir acciones específicas mediante configuración -por ejemplo, para impedir que ciertos equipos disparen una automatización sensible-, pero el backend seguía permitiendo que un usuario autenticado invocara esas mismas acciones excluidas de todas formas. El aviso aclara que los permisos existentes sobre cada acción y la autorización que corre después siguen aplicándose con normalidad; lo que falla es específicamente el filtro de exclusión por configuración, no el sistema de permisos completo. Backstage se volvió, en los últimos dos años, la base más citada del movimiento de plataformas de desarrollo interno que promete darle a cada equipo de ingeniería una sola puerta de entrada para desplegar, documentar y automatizar -una promesa que descansa, en buena parte, en que un operador de plataforma pueda de verdad restringir qué puede hacer cada equipo. Una falla que deja pasar justo las acciones que ese operador marcó como excluidas pone en duda, aunque sea en un caso acotado, qué tan sólida es esa garantía de gobernanza centralizada en la práctica. La corrección llegó en @backstage/backend-defaults 0.17.8, incluida en la versión 1.54.6 de Backstage, según el mismo aviso. La información de este caso proviene únicamente del aviso oficial de GitHub, sin cobertura cruzada de un medio especializado al cierre de esta edición. Backstage todavía no tiene una adopción reportada públicamente entre empresas de desarrollo de software en zonas francas costarricenses, que en su mayoría siguen operando sin una plataforma de desarrollo interno centralizada, por lo que el impacto local es marginal al cierre de esta edición.
El GitHub Advisory Database revisó y actualizó, el 15 de octubre de 2026, dos avisos de severidad moderada para frameworks de JavaScript de código abierto. El primero, GHSA-524c-h47v-m3h8 (CVE-2026-104150), afecta a @adonisjs/http-server: según la descripción oficial, el comparador de rutas slug incorporado -router.matchers.slug()- usa una expresión regular con un tiempo de ejecución de aproximadamente O(n^1.98), lo que permite que una URL manipulada bloquee el bucle de eventos de Node.js con una sola solicitud sin autenticar; como el enrutamiento corre antes que cualquier middleware de autenticación o límite de tasa, esos controles no alcanzan a frenar el ataque en las rutas que usan ese comparador sobre parámetros que el atacante controla. El investigador nikkoenggaliano reportó la falla, corregida en las versiones 9.1.1 y 8.2.2 del paquete. El segundo aviso, GHSA-2x6f-rp82-ppmj (CVE-2026-102527, CVSS 4.0 de 6.9), afecta a nuxt-og-image: según el mismo tipo de descripción oficial, la ruta /_og/d/*.png construye su clave de caché a partir de parámetros como title sin firmarlos, lo que permite que un atacante sin autenticar altere el contenido de la imagen -el texto que un visitante ve al compartir un enlace- para cualquier otra persona que visite esa misma URL. El investigador Dmitry Vanin, de Positive Technologies, reportó la falla, corregida en la versión 6.7.0. Ninguna de las dos fallas exige privilegios ni interacción de la víctima, y ambas comparten el mismo patrón de fondo: una pieza de infraestructura de un framework -el enrutador, en un caso; la caché de imágenes generadas, en el otro- confía en una entrada controlada por quien visita el sitio sin validarla antes de usarla para una decisión costosa de rendimiento o de contenido. Ninguno de los dos avisos reporta explotación activa conocida. La información de estos dos casos proviene únicamente de los avisos oficiales de GitHub, sin cobertura cruzada de un medio de seguridad especializado al cierre de esta edición. AdonisJS y Nuxt tienen comunidades de desarrollo activas entre programadores costarricenses que construyen sitios y APIs en Node.js y Vue; equipos locales que usen el comparador slug de AdonisJS sobre parámetros de usuario, o que generen imágenes de vista previa con nuxt-og-image, deberían revisar su versión en el próximo ciclo de dependencias, sin que se conozca un caso costarricense afectado al cierre de esta edición.
— Una expresión regular ineficiente en el enrutador de AdonisJS puede congelar el bucle de eventos de Node.js, y una ruta de imagen sin firmar en Nuxt OG Image permite alterar el texto que ve cada visitante, según dos avisos que GitHub revisó el 15 de octubre.
cat /feed/cloudflareworkersworkerd.md
La versión del 16 de octubre de workerd corrige errores menores en streams y en el conteo de bytes de RPC, sin tocar la reescritura en Rust que esta sección documentó a mediados de mes.
> Cloudflare publicó, el 16 de octubre de 2026, la versión v1.20261016.1 de workerd, el motor de código abierto que corre Cloudflare Workers, según el registro oficial de versiones del proyecto en GitHub. La entrega de hoy corrige una letra minúscula mal escrita en el identificador EXPERIMENTAL_ANNOTATION_ID, arregla la contabilidad del fin de flujo (EOF) en los streams de RPC para que cuente correctamente los bytes ya bombeados, fija el momento en que se resuelve la propiedad closed al final de un cuerpo nativo y corrige tres comportamientos de la función tee() en streams, además de asegurar que las excepciones en actors se reporten contra la solicitud correcta. En el lado de Python, la entrega mantiene viva la instancia compilada de Wasm de Pyodide entre distintos isolates, en vez de recompilarla cada vez.
> Después de la segunda ronda de parches que el servidor en Rust de workerd necesitó esta semana para restaurar la reutilización de conexiones salientes -una regresión que esta sección cubrió el 15 de octubre-, la entrega de hoy vuelve al patrón de mantenimiento incremental que domina la mayoría de versiones diarias del proyecto: ningún cambio de comportamiento visible para quien despliega un Worker, solo correcciones internas y ajustes de las propias suites de prueba.
> La información de este caso proviene únicamente del registro oficial de versiones de workerd en GitHub, sin cobertura cruzada de un medio especializado al cierre de esta edición. Costa Rica no aloja una región de Cloudflare, pero agencias digitales y startups ticas que despliegan aplicaciones sobre Workers reciben esta actualización de forma automática en su próximo despliegue, sin que haya, en este caso, ningún cambio de comportamiento que revisar.
El proyecto de código abierto compromised-packages-check registró, en su PR 159 -fusionado el 16 de octubre de 2026-, al menos 13 entradas nuevas de paquetes maliciosos: 5 en npm y 8 en PyPI, según el registro público del proyecto en GitHub -el título del propio PR anuncia 5 paquetes de npm y 9 de PyPI, una entrada más de la que el detalle del registro permite confirmar al cierre de esta edición-. En npm, el lote incluye tailwindcss-uniform, un typosquat de la popular librería de utilidades CSS tailwindcss en el que cualquier versión compromete el equipo que la instala; @flexmr/utils, una baliza de confusión de dependencias que exfiltra el nombre de host y la identidad del equipo, continuación del mismo patrón que esta sección ya documentó el 15 de octubre con @flexmr/ui; @developmentyora/yorakids y asistenyorstore, descritos como maliciosos en todas sus versiones; y xmd-baileys, un fork completamente malicioso de la librería de WhatsApp Baileys -el mismo blanco que ya había sufrido typosquats bajo los nombres @chatest/baileys y @newspage el 13 y 14 de octubre-. En PyPI, el registro documenta ocho paquetes: seapy-ops y getpubip descargan y ejecutan malware ofuscado al importarse; py-sock2, py-worm y py-wormgpt instalan puertas traseras persistentes; y proxyrubika, proxy-rubikis y proxyrobika -tres variantes casi idénticas del mismo nombre- ejecutan exfiltración automatizada de archivos, un patrón que sugiere el mismo operador detrás de las tres. La cifra de hoy -13, según lo que el registro detalla paquete por paquete- continúa la tendencia a la baja de los últimos días, lejos de las 44 entradas que esta sección registró el 12 de octubre, pero el patrón de fondo no cambia: Baileys, la librería de WhatsApp, vuelve a aparecer como blanco de typosquatting por tercera vez en cuatro días, y las tres variantes casi idénticas del nombre proxyrubika en PyPI sugieren una campaña automatizada que registra varios nombres parecidos a la vez en vez de apostar por uno solo. El PR de hoy, además, amplía de 5 a 26 el número de versiones maliciosas documentadas del paquete saeka, que esta sección cubrió por primera vez el 15 de octubre como un verificador masivo de tarjetas de crédito robadas. La información de este caso proviene únicamente del registro del proyecto compromised-packages-check en GitHub, sin confirmación cruzada de Socket.dev, Phylum o Sonatype al cierre de esta edición; el propio autor del PR señala que la API de OSV para consultas paquete por paquete no estuvo disponible durante su revisión, por lo que algunos detalles podrían completarse en una actualización posterior. Cualquier organización costarricense con su propio scope de npm, o que dependa de bibliotecas no oficiales de WhatsApp como Baileys, enfrenta el mismo tipo de riesgo que documenta este lote, sin que se conozca un caso costarricense afectado.
La jornada del 16 de octubre combina un XSS crítico en uno de los frameworks full-stack de JavaScript que más ha crecido este año con una falla que tira cualquier servidor de Qwik con una sola solicitud y un bypass que anulaba la verificación de hash en los plugins de Claude Code -la pieza de seguridad que debía garantizar que un plugin instalado no se desviara del commit que el usuario revisó-. OpenNext para Cloudflare corrigió una fuga de caché que servía contenido protegido a rutas con caracteres codificados, Backstage cerró un fallo que dejaba invocar acciones que un operador ya había excluido por configuración, y GitHub revisó dos avisos moderados más en AdonisJS y Nuxt OG Image. Cloudflare publicó una nueva versión de workerd centrada en mantenimiento, sin tocar la reescritura en Rust que esta sección siguió toda la semana, y el rastreo comunitario de paquetes maliciosos sumó al menos 13 entradas nuevas en npm y PyPI, encabezadas por un nuevo typosquat de tailwindcss y un tercer intento en cuatro días de hacerse pasar por la librería de WhatsApp Baileys. Todas las historias completas, con sus fuentes primarias, quedan disponibles arriba para decidir qué parchar o revisar primero esta semana.