Nuxt: route rules salteables por mayúsculas y percent-encoding (CVE-2026-114132 y tres más)
El router de páginas resuelve /Admin igual que /admin, pero Nitro matcheaba las route rules (headers, redirect, proxy, ssr) case-sensitive y contra el path crudo, así que un segmento con otra capitalización o percent-encoded se las saltea. Se suman XSS vía useHeadSafe en server islands y un fix incompleto de javascript: URLs. Parche en 4.6.2 (y 3.21.4 para la línea 3). Si usás route rules como control de acceso, esto te pega.
toml-node: prototype pollution que esquiva el fix anterior, más tres DoS (CVSS 8.8)
El fix de CVE-2026-63376 (4.1.2) se puede esquivar escribiendo el key path con comillas en vez de puntos: un TOML de cuatro líneas escribe en Object.prototype. En el mismo lote salieron DoS cuadráticos por headers de array-of-tables y dotted keys largos. Parche en 5.0.1. Si parseás TOML que sube el usuario, ponete las pilas.
DOMPurify 3.4.17: bypass de SAFE_FOR_TEMPLATES en shadow roots (CVSS 9.2)
Expresiones de template partidas sobreviven dentro de shadow roots adjuntos cuando usás SAFE_FOR_TEMPLATES; además, un hook que remueve padre o hermano en modo IN_PLACE deja handlers vivos (7.6). Afecta 3.4.4–3.4.16. Relevante si sanitizás HTML en el server con jsdom para renderizar con un motor de templates.
Fastify 5.12.6: deny-lists de headers con propertyNames no matcheaban (CVE-2026-107832)
Fastify pasa a minúsculas los nombres de headers del schema, pero no los valores de enum/const dentro de propertyNames: una deny-list escrita como X-Debug-Override nunca matchea. Severidad baja (2.3), afecta 5.12.2–5.12.5. Lección de schema: escribí header names en minúscula siempre.
Nodemailer 10.0.10: DoS cuadrático al desplegar headers en DKIM (CVE-2026-110871)
Un header plegado muy largo dispara unfolding O(n²) al firmar con DKIM y bloquea el event loop. Afecta 3.0.0–10.0.9. Si armás mails con input del usuario (asunto, reply-to), actualizá.
GraphQL Yoga 6.0: logger por request con requestId y adiós a @graphql-yoga/logger
Cada request trae su context.log etiquetado con un requestId (tomado de Fastify, del header x-request-id o generado) y devuelto en la respuesta; los errores enmascarados se loguean con ese id. Breaking: @graphql-yoga/logger desaparece en favor de @graphql-hive/logger, createLogger ya no se exporta y logging cambia de tipo. Configurá requestId.trustHeader: false si los clientes llegan directo al server.
Prisma 8.0.0-rc.20: salida tabulada en pipes y migraciones de namespaces en Postgres
Los comandos del ORM corren sobre @prisma/cli-engine 0.9.0: en un pipe o CI imprimen líneas tabuladas y el JSON pide --json explícito (rompe scripts que parseaban la salida). Los type alias en PSL aceptan @default, @onCreate y @onUpdate, y las migraciones Postgres ya renombran/mueven namespaces y cambian primary keys.
Harbor + Docker Sandboxes: cada eval de agente en su propia microVM
Docker integró Harbor con Docker Sandboxes: cada tarea corre en una microVM con kernel propio en vez de compartir container, con políticas de red que permiten bajar dependencias en el setup y cortan internet mientras el agente trabaja (probaron 64 tareas concurrentes). Se invoca con harbor run ... -e sbx. El patrón container-compartido para código no confiable se está quedando corto.
AWS Lambda MicroVMs llega a 4 regiones más (14 en total)
El primitivo serverless con aislamiento a nivel VM suma Hong Kong, Malasia, Tailandia y España. Cada MicroVM tiene endpoint HTTPS propio con HTTP/2, gRPC y WebSockets, y puede preservar estado entre ejecuciones: candidato natural para correr código generado por IA por usuario.
Estudio de Harvard con datos de Jellyfish: la IA sube el código, el cuello de botella pasa al review
718 empresas, ~700.000 devs: los agentes suben líneas un 30% y PRs un 23%, pero los issues resueltos solo un 12%; el tiempo de review por PR crece un 49% y se duplica la proporción de PRs que piden cambios. Lectura de arquitecto: si no invertís en límites claros, tests y PRs chicos, la IA solo te mueve el embudo de lugar.
Tendencias Destacadas
Bypasses por normalización de paths (mayúsculas, percent-encoding, propertyNames): el control de acceso en el edge/middleware sigue siendo frágil — validá en la capa de dominio también.
Prototype pollution vuelve por la puerta de atrás en parsers (TOML, GraphQL incremental): usá Object.create(null) o Map al construir objetos desde input externo.
MicroVMs como unidad de aislamiento (Lambda MicroVMs, Docker Sandboxes) reemplazan al container compartido para ejecutar código no confiable.
Nuxt: route rules bypassable via letter case and percent-encoding (CVE-2026-114132 and three more)
The page router resolves /Admin like /admin, but Nitro matched route rules (headers, redirect, proxy, ssr) case-sensitively and against the raw path, so a differently-cased or percent-encoded segment skips them. Also: XSS via useHeadSafe in server islands and an incomplete javascript: URL fix. Fixed in 4.6.2 (3.21.4 for the v3 line).
toml-node: prototype pollution that dodges the earlier fix, plus three DoS bugs (CVSS 8.8)
The CVE-2026-63376 fix (4.1.2) can be dodged by spelling the key path with quotes instead of dots: a four-line TOML document writes to Object.prototype. The same batch adds quadratic DoS via array-of-tables headers and long dotted keys. Fixed in 5.0.1.
DOMPurify 3.4.17: SAFE_FOR_TEMPLATES bypass in shadow roots (CVSS 9.2)
Split template expressions survive inside attached shadow roots when using SAFE_FOR_TEMPLATES; separately, a hook that removes a parent or sibling in IN_PLACE mode leaves event handlers alive (7.6). Affects 3.4.4–3.4.16. Relevant if you sanitize HTML server-side with jsdom before feeding a template engine.
Fastify 5.12.6: header deny-lists via propertyNames never matched (CVE-2026-107832)
Fastify lowercases header names in the schema but not the enum/const values inside propertyNames, so a deny-list written as X-Debug-Override never matches. Low severity (2.3), affects 5.12.2–5.12.5. Schema lesson: always write header names in lowercase.
Nodemailer 10.0.10: quadratic DoS when unfolding headers for DKIM (CVE-2026-110871)
A very large folded header triggers O(n²) unfolding during DKIM signing and blocks the event loop. Affects 3.0.0–10.0.9. Upgrade if user input reaches your mail headers.
GraphQL Yoga 6.0: per-request logger with requestId, goodbye @graphql-yoga/logger
Every request gets a context.log tagged with a requestId (from Fastify, the x-request-id header, or generated) and echoed in the response; masked errors are logged with that id. Breaking: @graphql-yoga/logger is removed in favor of @graphql-hive/logger, createLogger is gone and logging changes type. Set requestId.trustHeader: false when clients reach the server directly.
Prisma 8.0.0-rc.20: tab-separated piped output and Postgres namespace migrations
ORM commands now run on @prisma/cli-engine 0.9.0: in a pipe or CI they print tab-separated lines and JSON requires an explicit --json (breaks scripts that parsed the output). PSL type aliases accept @default, @onCreate and @onUpdate, and Postgres migrations can rename/move namespaces and change primary keys.
Harbor + Docker Sandboxes: each agent eval in its own microVM
Docker integrated Harbor with Docker Sandboxes: each task runs in a microVM with its own kernel instead of a shared container, with network policies that allow dependency downloads during setup and cut internet while the agent works (64 concurrent tasks tested). Invoked with harbor run ... -e sbx.
AWS Lambda MicroVMs expands to 4 more Regions (14 total)
The serverless primitive with VM-level isolation adds Hong Kong, Malaysia, Thailand and Spain. Each MicroVM gets its own HTTPS endpoint with HTTP/2, gRPC and WebSockets and can preserve state between runs.
Harvard study on Jellyfish data: AI raises code output, the bottleneck moves to review
718 firms, ~700,000 developers: agents raise lines of code 30% and PRs 23%, but resolved issues only 12%; review time per PR rises 49% and the share of PRs needing changes doubles. Architect's takeaway: without clear boundaries, tests and small PRs, AI just moves the bottleneck.
Notable Trends
Path-normalization bypasses (letter case, percent-encoding, propertyNames): edge/middleware access control remains fragile — enforce it in the domain layer too.
Prototype pollution keeps returning through parsers (TOML, incremental GraphQL): use Object.create(null) or Map when building objects from external input.
MicroVMs as the isolation unit (Lambda MicroVMs, Docker Sandboxes) are replacing shared containers for running untrusted code.
Nuxt : route rules contournables par la casse et le percent-encoding (CVE-2026-114132 et trois autres)
Le routeur de pages résout /Admin comme /admin, mais Nitro faisait correspondre les route rules (headers, redirect, proxy, ssr) en tenant compte de la casse et sur le chemin brut : un segment à casse différente ou percent-encodé les contourne. S'ajoutent un XSS via useHeadSafe et un correctif incomplet des URL javascript:. Corrigé en 4.6.2.
toml-node : prototype pollution qui contourne l'ancien correctif, plus trois DoS (CVSS 8.8)
Le correctif de CVE-2026-63376 (4.1.2) se contourne en écrivant le chemin de clé avec des guillemets plutôt que des points : un document TOML de quatre lignes écrit dans Object.prototype. Le même lot ajoute des DoS quadratiques. Corrigé en 5.0.1.
DOMPurify 3.4.17 : contournement de SAFE_FOR_TEMPLATES dans les shadow roots (CVSS 9.2)
Des expressions de template scindées survivent dans les shadow roots avec SAFE_FOR_TEMPLATES ; par ailleurs, un hook retirant un parent ou un frère en mode IN_PLACE laisse des gestionnaires actifs (7.6). Versions 3.4.4–3.4.16.
Fastify 5.12.6 : les deny-lists d'en-têtes via propertyNames ne correspondaient jamais (CVE-2026-107832)
Fastify met en minuscules les noms d'en-têtes du schéma, mais pas les valeurs enum/const de propertyNames : une deny-list écrite X-Debug-Override ne correspond jamais. Sévérité faible (2.3), versions 5.12.2–5.12.5.
Nodemailer 10.0.10 : DoS quadratique au dépliage des en-têtes DKIM (CVE-2026-110871)
Un en-tête plié très long déclenche un dépliage O(n²) lors de la signature DKIM et bloque l'event loop. Versions 3.0.0–10.0.9.
GraphQL Yoga 6.0 : logger par requête avec requestId, adieu @graphql-yoga/logger
Chaque requête reçoit un context.log étiqueté d'un requestId (Fastify, en-tête x-request-id ou généré) renvoyé dans la réponse. Rupture : @graphql-yoga/logger est supprimé au profit de @graphql-hive/logger et createLogger n'est plus exporté.
Prisma 8.0.0-rc.20 : sortie tabulée en pipe et migrations de namespaces Postgres
Les commandes ORM tournent sur @prisma/cli-engine 0.9.0 : en pipe ou en CI, sortie tabulée, et le JSON exige --json. Les type alias PSL acceptent @default, @onCreate et @onUpdate ; les migrations Postgres gèrent les namespaces et les clés primaires.
Harbor + Docker Sandboxes : chaque éval d'agent dans sa propre microVM
Docker a intégré Harbor à Docker Sandboxes : chaque tâche tourne dans une microVM avec son propre noyau, avec des politiques réseau qui autorisent les dépendances au setup puis coupent Internet (64 tâches concurrentes testées). Lancement via harbor run ... -e sbx.
AWS Lambda MicroVMs arrive dans 4 nouvelles régions (14 au total)
La primitive serverless à isolation VM ajoute Hong Kong, la Malaisie, la Thaïlande et l'Espagne. Chaque MicroVM dispose de son endpoint HTTPS (HTTP/2, gRPC, WebSockets) et peut conserver son état.
Étude de Harvard sur les données Jellyfish : l'IA augmente le code, le goulot passe à la revue
718 entreprises, ~700 000 développeurs : les agents augmentent les lignes de 30 % et les PR de 23 %, mais les tickets résolus de 12 % seulement ; le temps de revue par PR grimpe de 49 %. Sans frontières claires, tests et petites PR, l'IA déplace simplement le goulot.
Tendances Notables
Contournements par normalisation des chemins (casse, percent-encoding, propertyNames) : le contrôle d'accès en middleware reste fragile — appliquez-le aussi dans la couche domaine.
La prototype pollution revient par les parseurs (TOML, GraphQL incrémental) : utilisez Object.create(null) ou Map pour les objets construits depuis une entrée externe.
Les microVM comme unité d'isolation (Lambda MicroVMs, Docker Sandboxes) remplacent le conteneur partagé pour le code non fiable.