Backend & Fullstack

Backend & Fullstack — September 4, 2026

Lo nuevo hoy

Today's highlights

Points forts du jour

Click en cualquiera para ir al detalle

Click any item to jump to the full section

Cliquez un élément pour aller à la section complète

🔥

Top Stories

Breaking

Orval: doce advisories, nueve críticos, y un backtick que te ejecuta código

Doce advisories publicados el mismo día contra orval, el generador de clientes desde OpenAPI. Nueve son críticos con CVSS 9.3. El patrón raíz: Orval emite el path del OpenAPI dentro de un template literal sin escapar el backtick. Un path con un backtick cierra el literal e inyecta una expresión que se evalúa al llamar la función generada. Afecta a los clients de axios, fetch, react-query y swr, y sobrevive a la validación de OpenAPI por defecto. Las variantes cubren servers[].url, defaults de schema, nombres de propiedades y de query/header params, con RCE incluso en tiempo de import del módulo zod generado. Parcheado en 8.21.0.

La lección va más allá de Orval: si tu pipeline hace codegen desde un spec de terceros, ese spec es código, no datos.

03 Sep 2026
github.com/advisories →
Release

Vitest 5 estable: hasta 53% más rápido, y clearMocks ahora es true por defecto

Salió estable después de cuatro RCs. En proyectos reales miden 19% más rápido en un monolito enterprise y hasta 53% en otras configuraciones, gracias a servidores de Vite compartidos entre inline projects, cache de módulos en disco y vm pools más rápidos. Lo nuevo que importa: Trace View en Browser Mode con replay paso a paso, vi.when() para mocking condicional por argumentos, nested projects con herencia de config y una API de benchmark reescrita.

Los breaking changes son muchos y reales: requiere Node.js >= 22.12.0 y Vite >= 6.4.0, clearMocks pasa a true por defecto, las assertions asíncronas (resolves/rejects) fallan el test si no las await-eás, se elimina sequential en favor de concurrent, y ya no se busca el config file en directorios ancestros. Leé el changelog antes de bumpear en un monorepo.

03 Sep 2026
vitest.dev →
Seguridad

TOON: decodificar input no confiable te contamina Object.prototype

CVE-2026-82404. Decodificar TOON con una key __proto__, constructor o prototype escribía a través de la cadena de prototipos en vez de crear una propiedad propia, contaminando Object.prototype para todo el runtime. El vector más fuerte era expandPaths: 'safe' con keys punteadas tipo a.__proto__.x, pero también caían objetos anidados planos, filas tabulares y keys entrecomilladas. El encoder tenía el defecto espejo: descartaba silenciosamente propiedades propias __proto__ y podía disparar un setter heredado. Parcheado en @toon-format/toon 2.3.1.

Si estás serializando payloads para LLMs con TOON —que es exactamente para lo que se está usando— cualquier servicio que decodifique input externo está afectado.

03 Sep 2026
github.com/advisories →
Seguridad

amqp091-go: el broker de RabbitMQ ignora el frame_max negociado

CVE-2026-79921, CVSS 8.9. Cliente y broker negocian un frame_max en el handshake AMQP 0-9-1 —pongamos 4096 bytes—. Después de esa negociación, un broker comprometido o malicioso manda un basic.deliver válido con un content body frame cuyo header declara un payload mayor al límite, y el cliente reserva y procesa igual. Resultado: consumo de memoria inesperado o DoS a nivel aplicación, salteando la restricción de framing del propio protocolo. Parcheado en 1.13.0.

Ojo con el modelo de amenaza acá: el atacante es el broker. Si consumís de un RabbitMQ que no operás vos, esto te aplica.

03 Sep 2026
github.com/advisories →
🔒

Security

Seguridad

Cilium: una NetworkPolicy con ipBlock abre todo el namespace

CVE-2026-56743. Una NetworkPolicy estándar de Kubernetes que usa reglas ipBlock basadas en CIDR sin pod ni namespace selector generaba erróneamente una regla wildcard de namespace. Pasa cuando Cilium está desplegado con un clusterName custom en lugar del any por defecto: el parser instancia un pod selector sobre peers que no lo tenían, y termina permitiendo tráfico desde cualquier otro workload del mismo namespace que el sujeto de la policy. Afecta >= 1.19.0, < 1.19.5.

Este es de los peores: tu policy parece correcta en el YAML y no lo es en el datapath. Si tenés clusterName custom, auditá.

03 Sep 2026
github.com/advisories →
Seguridad

Phoenix: canales sin límite por conexión y se cae la VM

CVE-2026-56811, CVSS 8.7. Los transports de Phoenix no limitaban la cantidad de canales por conexión, así que un atacante sin autenticar podía spawnear cientos de miles de procesos sobre una sola conexión hasta tocar el límite de max processes de la VM de Erlang. El fix limita canales por transport, obligando al atacante a abrir conexiones nuevas —lo que le da a tu rate limiter y a tu CDN algo con qué intervenir—. Parcheado en 1.5.15, 1.6.17, 1.7.24 y 1.8.9.

03 Sep 2026
github.com/advisories →
Seguridad

stream-json: el filtro estrella es O(profundidad²)

CVE-2026-71429. Los filtros pick, ignore, filter y replace —la feature estrella de «extracción quirúrgica» de la librería— recalculan el path completo desde el stack de anidamiento en cada token chequeable. Como el largo del stack es igual a la profundidad actual y se emite un token en cada nivel, procesar un documento de profundidad D cuesta O(D²), no O(D).

Lo dispara la estructura, no el volumen: un payload chiquito bloquea el event loop de segundos a minutos. Y no es un caso raro — es el ejemplo insignia del README, pick({filter: 'data'}). Parcheado en 3.5.0.

03 Sep 2026
github.com/advisories →
Seguridad

toml-node: prototype pollution por desincronización de key-path

Otro parser de configuración que corrompe Object.prototype vía una key __proto__, esta vez por desincronización del key-path. Viene acompañado de un segundo advisory por recursión no controlada. Dos parsers distintos (toml-node y TOON) cayendo con el mismo bug el mismo día no es coincidencia: si escribís un parser que construye objetos desde input externo, Object.create(null) o un Map, siempre.

03 Sep 2026
github.com/advisories →
Seguridad

Claude Code Templates: RCE sin autenticar en el server --studio

Command injection de OS sin autenticación en el server de Claude Code Studio que levanta el flag --studio. Severidad alta. Es el recordatorio de siempre sobre tooling de desarrollo: un server que arrancás «solo local» para probar algo termina escuchando en una interfaz que no esperabas, y no tiene ninguna capa de auth porque nadie pensó que hacía falta.

03 Sep 2026
github.com/advisories →
Seguridad

LiquidJS: loop infinito en el filtro strip_html

CVSS 8.7. El filtro strip_html entra en loop infinito con input crafteado. Si renderizás templates Liquid con contenido que viene de usuarios —CMS, emails transaccionales, páginas de marketing— tenés un DoS de un solo request. Parcheá.

03 Sep 2026
github.com/advisories →
🗄️

Databases & Data

GA

Aurora MySQL 8.4.8 GA: TLS post-cuántico y transaction timeout

Lo grande es el key exchange PQ-TLS: cifrado resistente a cuántica para los datos en tránsito hacia tu base. Ya no es un tema de papers, está en un motor managed que podés prender.

Lo que te va a salvar el turno de guardia es más terrenal: transaction timeout, que corta operaciones largas antes de que te bloqueen el purge de InnoDB. Si alguna vez perseguiste una transacción zombie mientras el history list length se iba a la luna, sabés exactamente de qué hablo. Upgrade por minor version automático en la ventana de mantenimiento.

03 Sep 2026
aws.amazon.com →
Release

Aurora MySQL: replicación multi-source y delayed replication

Multi-source permite consolidar datos de varios orígenes MySQL en una sola réplica — el caso de uso obvio es consolidación de shards y backups centralizados. Delayed replication te deja configurar un lag deliberado: es tu red de seguridad contra el DELETE sin WHERE, porque te da una ventana para frenar la réplica antes de que el error se propague.

03 Sep 2026
aws.amazon.com →
Minor

Redshift habilita RG.large de un solo nodo

Opción de costo bajo para workloads chicos que no necesitan alta disponibilidad. Sirve para dev, staging y data marts departamentales — no lo pongas en producción crítica, que un solo nodo es un solo punto de falla.

03 Sep 2026
aws.amazon.com →
☁️

Cloud & DevOps

GA

Lambda SnapStart llega a container images: de segundos a sub-segundo

SnapStart estaba limitado a runtimes managed (Python, .NET, Java). Ahora cubre funciones basadas en container images, que es donde el cold start más dolía: Lambda tiene que bajar layers de hasta 10 GB. El mecanismo es el de siempre — snapshot del entorno de ejecución ya inicializado al deployar, cacheado, y resume en la invocación en vez de arrancar de cero.

Si descartaste container images por el cold start en APIs interactivas o inferencia ML, volvé a medir. Disponible en casi todas las regiones (quedan afuera Asia Pacific New Zealand y Taipei).

02 Sep 2026
aws.amazon.com →
Destacado

ECS: los managed daemons ya pueden marcarse como no críticos

Ahora un daemon puede fallar sin interrumpir las tasks de aplicación críticas. Es una decisión de diseño más importante de lo que parece: tu agente de observabilidad o tu sidecar de logs es infraestructura de soporte, no debería tumbarte el servicio que factura. Separar criticidad de co-ubicación es exactamente lo que uno espera de un scheduler maduro.

03 Sep 2026
aws.amazon.com →
Release

workerd v1.20260904.1, el release diario del runtime de Workers

Cloudflare sigue con su cadencia diaria de releases del runtime de Workers. Vale la pena mirar el changelog si operás Durable Objects con conexiones de larga vida: la mayor parte del trabajo reciente viene siendo de correctitud alrededor de hibernación de WebSockets y retries de fetch al actor.

04 Sep 2026
github.com/cloudflare →
🏗️

Architecture & Best Practices

Destacado

Reviews humanos sostenibles: saltear los PRs de bajo riesgo, profundizar en los que importan

Artie Shevchenko propone una estrategia de review por niveles de riesgo: los PRs de bajo riesgo pasan solo con aprobación de AI, y los cambios complejos reciben escrutinio humano profundo después de que el dev haya hecho un spike de la solución. La cita que ordena todo el argumento: «AI doesn't really understand anything; it generates tokens, creating an illusion of understanding».

El tradeoff está bien identificado y es el que casi nadie menciona: esto solo funciona con equipos chicos y ownership amplio del código. Si el review se concentra en tres personas, no ganaste velocidad — moviste el cuello de botella y le agregaste fatiga. Y ojo con lo que se pierde de verdad: el review humano no es solo control de calidad, es el loop de feedback por el que el conocimiento circula en el equipo. Si lo apagás para los cambios «rutinarios», estás decidiendo que los juniors no aprendan de ellos.

03 Sep 2026
infoq.com →
Destacado

pnpm 12 en Rust: los números reales del rewrite

Ahora tenemos mediciones concretas del rewrite nativo: clean install de 8.2s a 5s, install cacheado de 472ms a 15ms, y en el workspace de Turborepo de Vercel reducciones de mediana del 64.4% al 90.5% en seis escenarios. La resolución de peer dependencies es 2–3x más rápida en workspaces con muchos ciclos, usando ~25% menos memoria.

El tradeoff honesto: el primer arranque sin cache es 11.1% más lento, aunque el cacheado mejora 74.7%. Y hay breaking changes que hay que leer: se va pnpm install --resolution-only (ahora pnpm peers check), las dependencias git resuelven por URL HTTPS canónica, en Linux se priorizan hardlinks antes que reflinks, y las claves desconocidas en pnpm-workspace.yaml ahora tiran error en vez de ignorarse en silencio — que es lo correcto, y probablemente lo que te rompa el CI.

03 Sep 2026
infoq.com →
🔗

Fullstack

Release

Nx 23.2.0 estable: oxlint y oxfmt de primera clase, y Vitest por todos lados

Sale el estable después de los RCs. Lo relevante: plugin @nx/oxlint propio, soporte built-in de oxfmt junto a prettier, y generación de Vitest ofrecida de forma consistente en todos los generators vía la opción unitTestRunner — incluyendo node, nest y express. La cadena de tooling en Rust ya no es experimento.

Suma también soporte de dependency catalogs de Bun, nx migrate --run-migration para correr una sola migración, confirmación antes de crear commits de migración en la branch default, y la posibilidad de que el daemon y los plugin workers corran dentro de sandboxes de agentes.

02 Sep 2026
github.com/nrwl →
Release

pnpm 12.3: flags de supply chain en remove y update, y shims nativos en todas las plataformas

pnpm remove y pnpm update ahora aceptan --trust-lockfile, --trust-policy, --trust-policy-exclude y --trust-policy-ignore-after, los mismos flags que ya tenían install y add. Importante: pnpm remove verifica el lockfile contra las políticas activas igual que install, así que quitar un paquete ya no es un agujero en tu control de supply chain.

Además, todos los comandos globales context-aware (node, deno, bun y los shims de pnpm shim add) pasan a ser ejecutables nativos en todas las plataformas — en Windows <name>.exe reemplaza los shims .cmd y .ps1. En 12.3.2 sumaron que pnpm run y pnpm exec ya no reinstalan en filesystems con mtimes sub-milisegundo como NTFS.

02 Sep 2026
github.com/pnpm →
Beta

TanStack Solid Start llega a 2.0.0-rc.5

Otro RC en la serie 2.0 de Solid Start, junto con @tanstack/solid-start-server. El ciclo de RCs viene largo y estable — si estás evaluando el stack fullstack de TanStack fuera de React, es buen momento para probarlo en una branch, todavía no para producción.

03 Sep 2026
github.com/TanStack →
🔥

Top Stories

Breaking

Orval: twelve advisories, nine critical, and one backtick that runs your code

Twelve advisories published the same day against orval, the OpenAPI client generator. Nine are critical at CVSS 9.3. The root pattern: Orval emits the OpenAPI path inside a template literal without escaping the backtick. A path containing a backtick closes the literal and injects an expression evaluated when the generated function is called. It affects the axios, fetch, react-query, and swr clients, and survives Orval's default OpenAPI validation. The variants cover servers[].url, schema defaults, property names, and query/header parameter names, reaching RCE at import time of the generated zod module. Fixed in 8.21.0.

The lesson generalizes past Orval: if your pipeline runs codegen against a third-party spec, that spec is code, not data.

03 Sep 2026
github.com/advisories →
Release

Vitest 5 stable: up to 53% faster, and clearMocks now defaults to true

Stable after four RCs. On real projects they measure 19% faster on an enterprise monolith and up to 53% on other setups, via Vite servers shared across inline projects, disk-based module caching, and faster vm pools. The new things that matter: Trace View in Browser Mode with step-by-step replay, vi.when() for argument-conditional mocking, nested projects with config inheritance, and a rewritten benchmark API.

The breaking changes are many and real: it requires Node.js >= 22.12.0 and Vite >= 6.4.0, clearMocks now defaults to true, async assertions (resolves/rejects) fail the test when not awaited, sequential is removed in favor of concurrent, and the config file is no longer looked up in ancestor directories. Read the changelog before bumping a monorepo.

03 Sep 2026
vitest.dev →
Security

TOON: decoding untrusted input pollutes Object.prototype

CVE-2026-82404. Decoding TOON carrying a __proto__, constructor, or prototype key wrote through the prototype chain instead of creating an own property, polluting Object.prototype for the entire runtime. The strongest vector was expandPaths: 'safe' with dotted keys like a.__proto__.x, but plain nested objects, tabular rows, and quoted keys were all affected. The encoder had the mirror defect: it silently dropped own __proto__ properties and could fire an inherited setter. Fixed in @toon-format/toon 2.3.1.

If you serialize LLM payloads with TOON — which is exactly what it is being used for — any service decoding external input is affected.

03 Sep 2026
github.com/advisories →
Security

amqp091-go: the RabbitMQ broker ignores the negotiated frame_max

CVE-2026-79921, CVSS 8.9. Client and broker negotiate a frame_max during the AMQP 0-9-1 handshake — say 4096 bytes. After that negotiation, a compromised or malicious broker sends a valid basic.deliver sequence with a content body frame whose header declares a payload above the limit, and the client allocates and processes it anyway. Result: unexpected memory consumption or application-layer DoS, bypassing the protocol's own framing constraint. Fixed in 1.13.0.

Note the threat model: the attacker is the broker. If you consume from a RabbitMQ you do not operate, this applies to you.

03 Sep 2026
github.com/advisories →
🔒

Security

Security

Cilium: a NetworkPolicy with ipBlock opens the whole namespace

CVE-2026-56743. A standard Kubernetes NetworkPolicy using CIDR-based ipBlock rules without pod or namespace selectors erroneously generated a wildcard namespace allow rule. It triggers when Cilium is deployed with a custom clusterName instead of the default any: the parser instantiates a pod selector on selectorless peers and ends up allowing traffic from any other workload in the same namespace as the policy subject. Affects >= 1.19.0, < 1.19.5.

This is the nasty kind: your policy looks correct in the YAML and is not correct in the datapath. If you run a custom clusterName, audit now.

03 Sep 2026
github.com/advisories →
Security

Phoenix: unbounded channels per connection take down the VM

CVE-2026-56811, CVSS 8.7. Phoenix transports did not limit the number of channels per connection, so an unauthenticated attacker could spawn hundreds of thousands of processes over a single connection until hitting the Erlang VM max-process limit. The fix caps channels per transport, forcing the attacker to open new connections — which finally gives your rate limiter and CDN something to act on. Fixed in 1.5.15, 1.6.17, 1.7.24, and 1.8.9.

03 Sep 2026
github.com/advisories →
Security

stream-json: the flagship filter is O(depth²)

CVE-2026-71429. The pick, ignore, filter, and replace filters — the library's headline «surgical extraction» feature — recompute the full path string from the nesting stack on every checkable token. Since stack length equals current depth and a token is emitted at every level, processing a document of depth D costs O(D²), not O(D).

It is triggered by structure, not byte volume: a tiny payload blocks the event loop for seconds to minutes. And this is not an exotic path — it is the README's flagship example, pick({filter: 'data'}). Fixed in 3.5.0.

03 Sep 2026
github.com/advisories →
Security

toml-node: prototype pollution via key-path desynchronization

Another config parser corrupting Object.prototype through a __proto__ key, this time via key-path desynchronization, alongside a second advisory for uncontrolled recursion. Two different parsers (toml-node and TOON) falling to the same bug on the same day is not coincidence: if you write a parser that builds objects from external input, use Object.create(null) or a Map, always.

03 Sep 2026
github.com/advisories →
Security

Claude Code Templates: unauthenticated RCE in the --studio server

Unauthenticated OS command injection in the Claude Code Studio server started by the --studio flag. High severity. It is the standing reminder about developer tooling: a server you start «just locally» to try something ends up listening on an interface you did not expect, with no auth layer because nobody thought it needed one.

03 Sep 2026
github.com/advisories →
Security

LiquidJS: infinite loop in the strip_html filter

CVSS 8.7. The strip_html filter spins into an infinite loop on crafted input. If you render Liquid templates over user-supplied content — CMS, transactional email, marketing pages — that is a single-request DoS. Patch it.

03 Sep 2026
github.com/advisories →
🗄️

Databases & Data

GA

Aurora MySQL 8.4.8 GA: post-quantum TLS and transaction timeout

The headline is PQ-TLS key exchange: quantum-resistant encryption for data in transit to your database. No longer a paper topic — it is a toggle on a managed engine.

What will actually save your on-call shift is more down-to-earth: transaction timeout, which stops long-running operations before they block InnoDB purge. If you have ever chased a zombie transaction while the history list length climbed to the moon, you know exactly what this is worth. Upgrade via automatic minor version during the maintenance window.

03 Sep 2026
aws.amazon.com →
Release

Aurora MySQL: multi-source and delayed replication

Multi-source lets you consolidate data from several MySQL origins into a single replica — the obvious use case is shard consolidation and centralized backups. Delayed replication lets you configure deliberate lag: it is your safety net against the DELETE with no WHERE, because it gives you a window to stop the replica before the mistake propagates.

03 Sep 2026
aws.amazon.com →
Minor

Redshift enables single-node RG.large

A low-cost option for smaller workloads that do not need high availability. Good for dev, staging, and departmental data marts — do not put it under critical production, since a single node is a single point of failure.

03 Sep 2026
aws.amazon.com →
☁️

Cloud & DevOps

GA

Lambda SnapStart reaches container images: seconds to sub-second

SnapStart was limited to managed runtimes (Python, .NET, Java). It now covers container image functions, which is exactly where cold start hurt most: Lambda has to pull layers up to 10 GB. Same mechanism as always — snapshot the initialized execution environment at deploy, cache it, and resume on invocation instead of initializing from scratch.

If you ruled out container images over cold start for interactive APIs or ML inference, go measure again. Available in most regions (Asia Pacific New Zealand and Taipei excluded).

02 Sep 2026
aws.amazon.com →
Notable

ECS: managed daemons can now be marked non-critical

A daemon can now fail without interrupting mission-critical application tasks. That is a more important design decision than it looks: your observability agent or log sidecar is supporting infrastructure and should not take down the service that makes money. Decoupling criticality from co-location is exactly what you want from a mature scheduler.

03 Sep 2026
aws.amazon.com →
Release

workerd v1.20260904.1, the daily Workers runtime release

Cloudflare keeps its daily release cadence for the Workers runtime. Worth reading the changelog if you run Durable Objects with long-lived connections: most of the recent work has been correctness around WebSocket hibernation and actor fetch retries.

04 Sep 2026
github.com/cloudflare →
🏗️

Architecture & Best Practices

Notable

Sustainable human reviews: skip the low-risk PRs, go deep on the ones that matter

Artie Shevchenko proposes a review strategy tiered by risk level: low-risk PRs pass on AI approval alone, while complex changes get deep human scrutiny after the developer has spiked the solution. The quote that anchors the argument: «AI doesn't really understand anything; it generates tokens, creating an illusion of understanding».

The tradeoff is correctly identified and it is the one almost nobody mentions: this only works with small teams and broad code ownership. If review concentrates on three people, you did not gain velocity — you moved the bottleneck and added fatigue. And mind what is genuinely lost: human review is not only quality control, it is the feedback loop through which knowledge circulates in a team. Switch it off for «routine» changes and you are deciding that juniors will not learn from them.

03 Sep 2026
infoq.com →
Notable

pnpm 12 in Rust: the real numbers behind the rewrite

We now have concrete measurements for the native rewrite: clean install from 8.2s to 5s, cached install from 472ms to 15ms, and on Vercel's Turborepo workspace median reductions of 64.4% to 90.5% across six scenarios. Peer dependency resolution is 2–3x faster in cycle-heavy workspaces using about 25% less memory.

The honest tradeoff: the first uncached startup is 11.1% slower, though cached startup improves 74.7%. And there are breaking changes worth reading: pnpm install --resolution-only is gone (now pnpm peers check), git dependencies resolve through canonical HTTPS URLs, Linux prioritizes hardlinks before reflinks, and unknown keys in pnpm-workspace.yaml now throw instead of being silently ignored — which is correct, and probably what breaks your CI.

03 Sep 2026
infoq.com →
🔗

Fullstack

Release

Nx 23.2.0 stable: first-class oxlint and oxfmt, and Vitest everywhere

Stable after the RCs. What matters: a dedicated @nx/oxlint plugin, built-in support for oxfmt alongside prettier, and Vitest generation offered consistently across generators through the unitTestRunner option — including node, nest, and express. The Rust tooling chain is no longer an experiment.

It also adds Bun dependency catalog support, nx migrate --run-migration to run a single migration, confirmation before creating migration commits on the default branch, and the ability to run the daemon and plugin workers inside agent sandboxes.

02 Sep 2026
github.com/nrwl →
Release

pnpm 12.3: supply-chain flags on remove and update, native shims everywhere

pnpm remove and pnpm update now accept --trust-lockfile, --trust-policy, --trust-policy-exclude, and --trust-policy-ignore-after, the same flags install and add already took. Important: pnpm remove verifies the lockfile against active policies the way install does, so removing a package is no longer a hole in your supply-chain control.

Also, every context-aware global command (node, deno, bun, and shims from pnpm shim add) becomes a native executable on every platform — on Windows <name>.exe replaces the .cmd and .ps1 shims. 12.3.2 adds that pnpm run and pnpm exec no longer reinstall on filesystems with sub-millisecond mtimes such as NTFS.

02 Sep 2026
github.com/pnpm →
Beta

TanStack Solid Start reaches 2.0.0-rc.5

Another RC in the Solid Start 2.0 series, alongside @tanstack/solid-start-server. The RC cycle has been long and steady — if you are evaluating TanStack's fullstack story outside React, this is a good moment to try it on a branch, not yet in production.

03 Sep 2026
github.com/TanStack →
🔥

Top Stories

Breaking

Orval : douze advisories, neuf critiques, et un backtick qui exécute du code

Twelve advisories published the same day against orval, the OpenAPI client generator. Nine are critical at CVSS 9.3. The root pattern: Orval emits the OpenAPI path inside a template literal without escaping the backtick. A path containing a backtick closes the literal and injects an expression evaluated when the generated function is called. It affects the axios, fetch, react-query, and swr clients, and survives Orval's default OpenAPI validation. The variants cover servers[].url, schema defaults, property names, and query/header parameter names, reaching RCE at import time of the generated zod module. Fixed in 8.21.0.

The lesson generalizes past Orval: if your pipeline runs codegen against a third-party spec, that spec is code, not data.

03 Sep 2026
github.com/advisories →
Release

Vitest 5 stable : jusqu'à 53% plus rapide, et clearMocks passe à true par défaut

Stable after four RCs. On real projects they measure 19% faster on an enterprise monolith and up to 53% on other setups, via Vite servers shared across inline projects, disk-based module caching, and faster vm pools. The new things that matter: Trace View in Browser Mode with step-by-step replay, vi.when() for argument-conditional mocking, nested projects with config inheritance, and a rewritten benchmark API.

The breaking changes are many and real: it requires Node.js >= 22.12.0 and Vite >= 6.4.0, clearMocks now defaults to true, async assertions (resolves/rejects) fail the test when not awaited, sequential is removed in favor of concurrent, and the config file is no longer looked up in ancestor directories. Read the changelog before bumping a monorepo.

03 Sep 2026
vitest.dev →
Sécurité

TOON : décoder une entrée non fiable pollue Object.prototype

CVE-2026-82404. Decoding TOON carrying a __proto__, constructor, or prototype key wrote through the prototype chain instead of creating an own property, polluting Object.prototype for the entire runtime. The strongest vector was expandPaths: 'safe' with dotted keys like a.__proto__.x, but plain nested objects, tabular rows, and quoted keys were all affected. The encoder had the mirror defect: it silently dropped own __proto__ properties and could fire an inherited setter. Fixed in @toon-format/toon 2.3.1.

If you serialize LLM payloads with TOON — which is exactly what it is being used for — any service decoding external input is affected.

03 Sep 2026
github.com/advisories →
Sécurité

amqp091-go : le broker RabbitMQ ignore le frame_max négocié

CVE-2026-79921, CVSS 8.9. Client and broker negotiate a frame_max during the AMQP 0-9-1 handshake — say 4096 bytes. After that negotiation, a compromised or malicious broker sends a valid basic.deliver sequence with a content body frame whose header declares a payload above the limit, and the client allocates and processes it anyway. Result: unexpected memory consumption or application-layer DoS, bypassing the protocol's own framing constraint. Fixed in 1.13.0.

Note the threat model: the attacker is the broker. If you consume from a RabbitMQ you do not operate, this applies to you.

03 Sep 2026
github.com/advisories →
🔒

Security

Sécurité

Cilium : une NetworkPolicy avec ipBlock ouvre tout le namespace

CVE-2026-56743. A standard Kubernetes NetworkPolicy using CIDR-based ipBlock rules without pod or namespace selectors erroneously generated a wildcard namespace allow rule. It triggers when Cilium is deployed with a custom clusterName instead of the default any: the parser instantiates a pod selector on selectorless peers and ends up allowing traffic from any other workload in the same namespace as the policy subject. Affects >= 1.19.0, < 1.19.5.

This is the nasty kind: your policy looks correct in the YAML and is not correct in the datapath. If you run a custom clusterName, audit now.

03 Sep 2026
github.com/advisories →
Sécurité

Phoenix : des canaux sans limite par connexion font tomber la VM

CVE-2026-56811, CVSS 8.7. Phoenix transports did not limit the number of channels per connection, so an unauthenticated attacker could spawn hundreds of thousands of processes over a single connection until hitting the Erlang VM max-process limit. The fix caps channels per transport, forcing the attacker to open new connections — which finally gives your rate limiter and CDN something to act on. Fixed in 1.5.15, 1.6.17, 1.7.24, and 1.8.9.

03 Sep 2026
github.com/advisories →
Sécurité

stream-json : le filtre phare est en O(profondeur²)

CVE-2026-71429. The pick, ignore, filter, and replace filters — the library's headline «surgical extraction» feature — recompute the full path string from the nesting stack on every checkable token. Since stack length equals current depth and a token is emitted at every level, processing a document of depth D costs O(D²), not O(D).

It is triggered by structure, not byte volume: a tiny payload blocks the event loop for seconds to minutes. And this is not an exotic path — it is the README's flagship example, pick({filter: 'data'}). Fixed in 3.5.0.

03 Sep 2026
github.com/advisories →
Sécurité

toml-node : prototype pollution par désynchronisation de key-path

Another config parser corrupting Object.prototype through a __proto__ key, this time via key-path desynchronization, alongside a second advisory for uncontrolled recursion. Two different parsers (toml-node and TOON) falling to the same bug on the same day is not coincidence: if you write a parser that builds objects from external input, use Object.create(null) or a Map, always.

03 Sep 2026
github.com/advisories →
Sécurité

Claude Code Templates : RCE non authentifiée dans le serveur --studio

Unauthenticated OS command injection in the Claude Code Studio server started by the --studio flag. High severity. It is the standing reminder about developer tooling: a server you start «just locally» to try something ends up listening on an interface you did not expect, with no auth layer because nobody thought it needed one.

03 Sep 2026
github.com/advisories →
Sécurité

LiquidJS : boucle infinie dans le filtre strip_html

CVSS 8.7. The strip_html filter spins into an infinite loop on crafted input. If you render Liquid templates over user-supplied content — CMS, transactional email, marketing pages — that is a single-request DoS. Patch it.

03 Sep 2026
github.com/advisories →
🗄️

Databases & Data

GA

Aurora MySQL 8.4.8 GA : TLS post-quantique et transaction timeout

The headline is PQ-TLS key exchange: quantum-resistant encryption for data in transit to your database. No longer a paper topic — it is a toggle on a managed engine.

What will actually save your on-call shift is more down-to-earth: transaction timeout, which stops long-running operations before they block InnoDB purge. If you have ever chased a zombie transaction while the history list length climbed to the moon, you know exactly what this is worth. Upgrade via automatic minor version during the maintenance window.

03 Sep 2026
aws.amazon.com →
Release

Aurora MySQL : réplication multi-source et delayed replication

Multi-source lets you consolidate data from several MySQL origins into a single replica — the obvious use case is shard consolidation and centralized backups. Delayed replication lets you configure deliberate lag: it is your safety net against the DELETE with no WHERE, because it gives you a window to stop the replica before the mistake propagates.

03 Sep 2026
aws.amazon.com →
Mineur

Redshift active RG.large en nœud unique

A low-cost option for smaller workloads that do not need high availability. Good for dev, staging, and departmental data marts — do not put it under critical production, since a single node is a single point of failure.

03 Sep 2026
aws.amazon.com →
☁️

Cloud & DevOps

GA

Lambda SnapStart arrive sur les container images : de secondes à sous-seconde

SnapStart was limited to managed runtimes (Python, .NET, Java). It now covers container image functions, which is exactly where cold start hurt most: Lambda has to pull layers up to 10 GB. Same mechanism as always — snapshot the initialized execution environment at deploy, cache it, and resume on invocation instead of initializing from scratch.

If you ruled out container images over cold start for interactive APIs or ML inference, go measure again. Available in most regions (Asia Pacific New Zealand and Taipei excluded).

02 Sep 2026
aws.amazon.com →
Notable

ECS : les managed daemons peuvent être marqués non critiques

A daemon can now fail without interrupting mission-critical application tasks. That is a more important design decision than it looks: your observability agent or log sidecar is supporting infrastructure and should not take down the service that makes money. Decoupling criticality from co-location is exactly what you want from a mature scheduler.

03 Sep 2026
aws.amazon.com →
Release

workerd v1.20260904.1, la release quotidienne du runtime Workers

Cloudflare keeps its daily release cadence for the Workers runtime. Worth reading the changelog if you run Durable Objects with long-lived connections: most of the recent work has been correctness around WebSocket hibernation and actor fetch retries.

04 Sep 2026
github.com/cloudflare →
🏗️

Architecture & Best Practices

Notable

Des revues humaines soutenables : sauter les PR à faible risque, approfondir celles qui comptent

Artie Shevchenko proposes a review strategy tiered by risk level: low-risk PRs pass on AI approval alone, while complex changes get deep human scrutiny after the developer has spiked the solution. The quote that anchors the argument: «AI doesn't really understand anything; it generates tokens, creating an illusion of understanding».

The tradeoff is correctly identified and it is the one almost nobody mentions: this only works with small teams and broad code ownership. If review concentrates on three people, you did not gain velocity — you moved the bottleneck and added fatigue. And mind what is genuinely lost: human review is not only quality control, it is the feedback loop through which knowledge circulates in a team. Switch it off for «routine» changes and you are deciding that juniors will not learn from them.

03 Sep 2026
infoq.com →
Notable

pnpm 12 en Rust : les vrais chiffres de la réécriture

We now have concrete measurements for the native rewrite: clean install from 8.2s to 5s, cached install from 472ms to 15ms, and on Vercel's Turborepo workspace median reductions of 64.4% to 90.5% across six scenarios. Peer dependency resolution is 2–3x faster in cycle-heavy workspaces using about 25% less memory.

The honest tradeoff: the first uncached startup is 11.1% slower, though cached startup improves 74.7%. And there are breaking changes worth reading: pnpm install --resolution-only is gone (now pnpm peers check), git dependencies resolve through canonical HTTPS URLs, Linux prioritizes hardlinks before reflinks, and unknown keys in pnpm-workspace.yaml now throw instead of being silently ignored — which is correct, and probably what breaks your CI.

03 Sep 2026
infoq.com →
🔗

Fullstack

Release

Nx 23.2.0 stable : oxlint et oxfmt de première classe, et Vitest partout

Stable after the RCs. What matters: a dedicated @nx/oxlint plugin, built-in support for oxfmt alongside prettier, and Vitest generation offered consistently across generators through the unitTestRunner option — including node, nest, and express. The Rust tooling chain is no longer an experiment.

It also adds Bun dependency catalog support, nx migrate --run-migration to run a single migration, confirmation before creating migration commits on the default branch, and the ability to run the daemon and plugin workers inside agent sandboxes.

02 Sep 2026
github.com/nrwl →
Release

pnpm 12.3 : flags supply-chain sur remove et update, shims natifs partout

pnpm remove and pnpm update now accept --trust-lockfile, --trust-policy, --trust-policy-exclude, and --trust-policy-ignore-after, the same flags install and add already took. Important: pnpm remove verifies the lockfile against active policies the way install does, so removing a package is no longer a hole in your supply-chain control.

Also, every context-aware global command (node, deno, bun, and shims from pnpm shim add) becomes a native executable on every platform — on Windows <name>.exe replaces the .cmd and .ps1 shims. 12.3.2 adds that pnpm run and pnpm exec no longer reinstall on filesystems with sub-millisecond mtimes such as NTFS.

02 Sep 2026
github.com/pnpm →
Bêta

TanStack Solid Start atteint 2.0.0-rc.5

Another RC in the Solid Start 2.0 series, alongside @tanstack/solid-start-server. The RC cycle has been long and steady — if you are evaluating TanStack's fullstack story outside React, this is a good moment to try it on a branch, not yet in production.

03 Sep 2026
github.com/TanStack →