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

Next.js: RCE crítico en next/og ImageResponse (CVSS 9.5)

La implementación Node de ImageResponse en next/og arrastra una vulnerabilidad upstream: si metés valores controlados por el atacante dentro del contenido, atributos o estilos de un SVG que después renderizás como imagen, terminás con ejecución remota de código. Afecta de 16.2.0 hasta antes de 16.3.6, con backport en 15.5.26. La implementación Edge no está afectada, y si no pasás input del usuario al SVG tampoco. Ojo con este CVE: si tenés una ruta de OG images con searchParams, actualizá YA — y mientras tanto sanitizá o eliminá ese passthrough.

22 Sep 2026
github.com/vercel/next.js →
Release

Node.js 26.10.0: parsePKCS12, util.throttle y sockets entre threads

Tanda gorda de semver-minor: crypto.parsePKCS12() para leer bundles .p12 sin shell-out a OpenSSL, util.throttle() y util.markPromiseAsHandled() en core, fs.openAsBlobSync, y el que más me gusta: net.BoundSocket ahora se puede mandar a worker threads y child processes, así que podés repartir accept() entre workers sin trucos de cluster. Además perf_hooks suma SlidingWindowHistogram — latencias p99 en ventana móvil sin librería externa. Golazo para la DX.

22 Sep 2026
github.com/nodejs/node →
Seguridad

OpenBao: el recovery token se filtra por timing attack (CVSS 9.1)

Corriendo en recovery mode —el modo más privilegiado que tiene— OpenBao comparaba el recovery token sin tiempo constante. Un atacante puede extraerlo carácter a carácter y después leer o modificar datos del vault. Parcheado en v2.6.0. En la misma tanda salieron tres más: escalada de privilegios vía wildcards en políticas templated (7.5), LIST que saltea una deny policy más estricta (6.0) y el agente escribiendo secretos a stdout (2.4). Si tenés OpenBao en producción, esta es tu tarde.

22 Sep 2026
github.com/advisories →
⚡

Backend TypeScript & Runtimes

Patch

Deno 2.9.7: traceparent case-insensitive y CA stores respetados

Patch chico pero con dos arreglos que duelen si te tocan: Deno.serve ahora extrae traceparent sin importar el casing del header —si tu gateway manda TraceParent, tu traza distribuida dejaba de encadenarse en silencio— y deno audit por fin honra los CA stores configurados, necesario detrás de proxy corporativo. También arregla completions de bash/zsh y el doble dash antes del entrypoint.

17 Sep 2026
github.com/denoland/deno →
Minor

workerd v1.20260923.1: el runtime de Cloudflare sigue con release diario

El runtime open source detrás de Cloudflare Workers publicó otro build diario. Si fijás compatibility_date en tu wrangler.jsonc, acordate de que ese pin es exactamente lo que te aísla de estos cambios: el runtime avanza todos los días, tu worker no. Revisá el diff antes de mover la fecha.

23 Sep 2026
github.com/cloudflare/workerd →
🧩

Frameworks & Libraries

Seguridad

Fastify: un request HTTP/2 con trailers voltea el proceso

Si una ruta registra un trailer con reply.trailer() y se sirve sobre HTTP/2, Fastify agrega incondicionalmente Transfer-Encoding: chunked —prohibido en HTTP/2— y Node tira ERR_HTTP2_INVALID_CONNECTION_HEADERS. La excepción no se captura, escala a uncaughtException y termina el proceso. Un solo request sin autenticar tira todas las requests en vuelo. Corregido en la línea 6.0 alpha; si usás trailers en v5, revisá tu versión.

17 Sep 2026
github.com/fastify/fastify →
Destacado

Traefik: el singleflight de BasicAuth reintrodujo un oráculo de enumeración

Caso de estudio precioso de cómo una optimización rompe seguridad. Traefik coalesce chequeos concurrentes de credenciales con un singleflight.Group para no hashear la misma password mil veces. Desde 3.6.11 la clave de deduplicación dependía del estado del servidor: un usuario inexistente colapsaba a una clave compartida (rápido), uno existente calculaba su propio hash (lento). Resultado: oráculo de timing para enumerar usuarios sin autenticarse. Arreglado en 3.7.13. Moraleja: una cache cuya clave depende de datos secretos es un canal lateral.

22 Sep 2026
github.com/advisories →
🗄️

Databases & Data

Beta

Valkey 9.2.0-rc1: snapshots RDB sin fork y ACL DIGEST

El RC trae la feature que muchos esperábamos: snapshots RDB sin fork, opt-in vía forkless-infrastructure-enabled y bgsave-default-method, con campos nuevos en INFO persistence reportando método y progreso. Adiós al pico de memoria copy-on-write en instancias grandes. Suma ACL DIGEST para verificar qué reglas quedaron aplicadas tras un ACL LOAD, y los comandos de stream XACKDEL/XDELEX con modos KEEPREF, DELREF y ACKED. Urgencia de upgrade: baja, es un RC.

16 Sep 2026
github.com/valkey-io/valkey →
☁️

Cloud & DevOps

GA

Amazon CloudWatch Omni GA: OpenTelemetry multi-cloud

AWS llevó a GA una plataforma de observabilidad que centraliza telemetría entre cuentas, regiones, Azure y otros proveedores sobre OpenTelemetry, con descubrimiento automático de servicios y mapeo de dependencias. Lo interesante para backend: extensiones locales para VS Code, Cursor y Kiro que funcionan sin cuenta de AWS, y observabilidad de agentes que instrumenta cada prompt, llamada al modelo e invocación de tool. Arranca en N. Virginia, Oregon e Irlanda.

23 Sep 2026
aws.amazon.com →
Destacado

Google libera AX, un orquestador estilo Kubernetes para agentes

Google publicó AX en abierto: un orquestador para cargas de agentes autónomos construido sobre primitivas al estilo Kubernetes. Más allá del hype de agentes, lo que vale mirar acá es el patrón: reconciliación declarativa aplicada a workloads no deterministas. Si te toca diseñar scheduling de tareas de larga duración, el modelo de recursos es la parte que te va a servir aunque nunca corras un agente.

22 Sep 2026
infoq.com →
🏗️

Architecture & Best Practices

Breaking

Un await faltante desactiva por completo un chequeo de permisos (CVSS 7.1)

Este merece que pares cinco minutos. En Unleash, POST /api/admin/segments/strategies declara permission: NONE a nivel de ruta y hace el chequeo a mano con this.accessService.hasPermission(). Le faltaba el await. Como la función es async, la variable siempre recibe una Promise — que es truthy — y el if (!hasPermission) nunca dispara. Autorización completamente anulada, más un IDOR cross-project en la misma tanda. Parcheado en 8.0.3.

¿Y sabés por qué pasa esto? Porque TypeScript te deja: Promise<boolean> en un contexto booleano compila sin chistar. La regla que atrapa esto es @typescript-eslint/no-misused-promises con checksConditionals, y su hermana no-floating-promises. Si no las tenés prendidas en tu backend, ponete las pilas: no es un lint cosmético, es tu capa de autorización.

22 Sep 2026
github.com/advisories →
🔗

Fullstack

Release

pnpm 12.6.0: autoDedupe, node_modules relocatable y --save-types

Tres cosas que te cambian el día. autoDedupe deduplica versiones compatibles durante el install (los installs frozen no tocan el lockfile, tranquilo). En macOS y Linux, node_modules y los bin shims ahora sobreviven a que muevas o copies el proyecto: el primer comando detecta la nueva ubicación y reescribe. Y pnpm add --save-types agrega el @types/* correspondiente a devDependencies, salteando paquetes que ya traen tipos. Encima, los manifests package.yaml por fin se pueden editar desde la CLI preservando comentarios y orden de claves.

22 Sep 2026
github.com/pnpm/pnpm →
Breaking

Changesets v3: peer deps con patch bump, ESM-only y 88% menos peso

El cambio de comportamiento más importante: actualizar una peer dependency ahora da patch bump a los dependientes en vez de major. Años de reclamos de la comunidad por versionado inflado, resueltos. Además todo pasó a ESM (requiere Node 22.11+, pnpm 10, npm 10.9 o Yarn 4.5.2) y la limpieza bajó el install de 16.1MB a 2.1MB y de 95 a 39 dependencias. Nuevos comandos pack y publish-plan, y Prettier dejó de venir empaquetado: ahora lo detecta en tu proyecto.

22 Sep 2026
infoq.com →
Patch

Turborepo 2.11.3: limpieza interna y crates separados

Release de mantenimiento, casi todo refactor: se extrajo turborepo-tracing a su propio crate, se movió el spawning de procesos hijos a turborepo-process, se removieron la cache de compilación experimental de Cargo y las Run boundaries. Nada que cambie tu turbo.json, pero vale registrar la dirección: están desacoplando el binario en piezas antes del próximo minor.

22 Sep 2026
github.com/vercel/turborepo →
🔥

Top Stories

Breaking

Next.js: critical RCE in next/og ImageResponse (CVSS 9.5)

The Node implementation of ImageResponse in next/og inherits an upstream vulnerability: pass attacker-controlled values into SVG content, attributes or styles during image generation and you get remote code execution. It affects 16.2.0 up to 16.3.6, with a backport in 15.5.26. The Edge implementation is not affected, nor are apps that never forward user input into the SVG. If you have an OG image route reading searchParams, patch now — and drop or sanitize that passthrough in the meantime.

22 Sep 2026
github.com/vercel/next.js →
Release

Node.js 26.10.0: parsePKCS12, util.throttle and cross-thread sockets

A heavy semver-minor batch: crypto.parsePKCS12() to read .p12 bundles without shelling out to OpenSSL, util.throttle() and util.markPromiseAsHandled() in core, fs.openAsBlobSync, and the best one: net.BoundSocket can now be sent to worker threads and child processes, so you can spread accept() across workers without cluster tricks. perf_hooks also gains SlidingWindowHistogram — rolling-window p99 latencies with no external library.

22 Sep 2026
github.com/nodejs/node →
Security

OpenBao: recovery token leaks via timing attack (CVSS 9.1)

Running in recovery mode — its most privileged state — OpenBao compared the single recovery token without constant time. An attacker can extract it and then read or modify vault data. Patched in v2.6.0. Three more shipped the same day: privilege escalation via wildcards in templated policies (7.5), LIST skipping a stricter deny policy (6.0), and the agent writing secrets to stdout (2.4).

22 Sep 2026
github.com/advisories →
⚡

Backend TypeScript & Runtimes

Patch

Deno 2.9.7: case-insensitive traceparent and honored CA stores

Small patch with two fixes that hurt when they hit you: Deno.serve now extracts traceparent regardless of header casing — if your gateway sends TraceParent, your distributed trace silently stopped chaining — and deno audit finally honors configured CA stores, which matters behind a corporate proxy. Also fixes bash/zsh completions and the double dash before the entrypoint.

17 Sep 2026
github.com/denoland/deno →
Minor

workerd v1.20260923.1: Cloudflare's runtime keeps its daily cadence

The open-source runtime behind Cloudflare Workers shipped another daily build. If you pin compatibility_date in your wrangler.jsonc, remember that pin is exactly what isolates you from these changes: the runtime moves every day, your worker does not. Read the diff before bumping the date.

23 Sep 2026
github.com/cloudflare/workerd →
🧩

Frameworks & Libraries

Security

Fastify: one HTTP/2 request with trailers kills the process

If a route registers a trailer via reply.trailer() and is served over HTTP/2, Fastify unconditionally adds Transfer-Encoding: chunked — forbidden on HTTP/2 — and Node throws ERR_HTTP2_INVALID_CONNECTION_HEADERS. The exception is never caught, escalates to uncaughtException and terminates the process. One unauthenticated request drops every in-flight request. Fixed in the 6.0 alpha line.

17 Sep 2026
github.com/fastify/fastify →
Notable

Traefik: BasicAuth singleflight reintroduced an enumeration oracle

A beautiful case study in an optimization breaking security. Traefik coalesces concurrent credential checks through a singleflight.Group to avoid hashing the same password many times. Since 3.6.11 the dedup key depended on server state: a non-existent username collapsed onto one shared key (fast) while a configured one computed its own hash (slow). Result: an unauthenticated timing oracle for username enumeration. Fixed in 3.7.13. The lesson: a cache whose key depends on secret data is a side channel.

22 Sep 2026
github.com/advisories →
🗄️

Databases & Data

Beta

Valkey 9.2.0-rc1: forkless RDB snapshots and ACL DIGEST

The RC brings the feature many were waiting for: forkless RDB snapshots, opt-in via forkless-infrastructure-enabled and bgsave-default-method, with new INFO persistence fields reporting method and progress. No more copy-on-write memory spikes on large instances. It also adds ACL DIGEST to verify which rules an ACL LOAD actually applied, plus the XACKDEL/XDELEX stream commands with KEEPREF, DELREF and ACKED modes. Upgrade urgency: low, it is an RC.

16 Sep 2026
github.com/valkey-io/valkey →
☁️

Cloud & DevOps

GA

Amazon CloudWatch Omni GA: multi-cloud OpenTelemetry

AWS took to GA an observability platform that centralizes telemetry across accounts, regions, Azure and other providers on top of OpenTelemetry, with automatic service discovery and dependency mapping. The interesting part for backend folks: local VS Code, Cursor and Kiro extensions that work without an AWS account, and agent observability instrumenting every prompt, model call and tool invocation. Launching in N. Virginia, Oregon and Ireland.

23 Sep 2026
aws.amazon.com →
Notable

Google open-sources AX, a Kubernetes-style orchestrator for agents

Google open-sourced AX: an orchestrator for autonomous agent workloads built on Kubernetes-style primitives. Past the agent hype, the pattern is what deserves a look: declarative reconciliation applied to non-deterministic workloads. If you design scheduling for long-running tasks, the resource model is the part worth stealing even if you never run an agent.

22 Sep 2026
infoq.com →
🏗️

Architecture & Best Practices

Breaking

A missing await fully disables a permission check (CVSS 7.1)

This one deserves five minutes of your attention. In Unleash, POST /api/admin/segments/strategies declares permission: NONE at the route level and does its own check via this.accessService.hasPermission(). The await was missing. Since the function is async, the variable always receives a Promise — which is truthy — so if (!hasPermission) never fires. Authorization fully bypassed, plus a cross-project IDOR in the same batch. Patched in 8.0.3.

And why does this happen? Because TypeScript lets it: a Promise<boolean> in a boolean context compiles without complaint. The rule that catches it is @typescript-eslint/no-misused-promises with checksConditionals, alongside no-floating-promises. If those are off in your backend, turn them on — this is not cosmetic linting, this is your authorization layer.

22 Sep 2026
github.com/advisories →
🔗

Fullstack

Release

pnpm 12.6.0: autoDedupe, relocatable node_modules and --save-types

Three things that change your day. autoDedupe deduplicates compatible versions during install (frozen installs leave the lockfile untouched). On macOS and Linux, node_modules and bin shims now survive moving or copying the project: the first command detects the new location and records it. And pnpm add --save-types saves the matching @types/* into devDependencies, skipping packages that bundle their own. On top of that, package.yaml manifests can finally be edited from the CLI with comments and key order preserved.

22 Sep 2026
github.com/pnpm/pnpm →
Breaking

Changesets v3: patch bumps for peer dependents, ESM-only, 88% lighter

The headline behavioral change: a peer dependency update now gives dependents a patch bump instead of a major. Years of community complaints about inflated versioning, resolved. Everything moved to ESM too (requires Node 22.11+, pnpm 10, npm 10.9 or Yarn 4.5.2) and the cleanup cut install size from 16.1MB to 2.1MB and dependencies from 95 to 39. New pack and publish-plan commands, and Prettier is no longer bundled — it is detected in your project instead.

22 Sep 2026
infoq.com →
Patch

Turborepo 2.11.3: internal cleanup and split crates

Maintenance release, mostly refactor: turborepo-tracing extracted into its own crate, child-process spawning relocated to turborepo-process, and both the experimental Cargo compile cache and Run boundaries removed. Nothing changes in your turbo.json, but the direction is worth noting: they are decoupling the binary into pieces ahead of the next minor.

22 Sep 2026
github.com/vercel/turborepo →
🔥

Top Stories

Breaking

Next.js : RCE critique dans next/og ImageResponse (CVSS 9.5)

L'implémentation Node d'ImageResponse dans next/og hérite d'une vulnérabilité amont : injecter des valeurs contrôlées par l'attaquant dans le contenu, les attributs ou les styles d'un SVG lors de la génération d'image mène à une exécution de code à distance. Versions 16.2.0 jusqu'à 16.3.6, avec backport en 15.5.26. L'implémentation Edge n'est pas concernée. Si vous avez une route d'images OG lisant searchParams, patchez immédiatement.

22 Sep 2026
github.com/vercel/next.js →
Release

Node.js 26.10.0 : parsePKCS12, util.throttle et sockets inter-threads

Grosse fournée semver-minor : crypto.parsePKCS12() pour lire des bundles .p12 sans passer par OpenSSL, util.throttle() et util.markPromiseAsHandled() dans le core, fs.openAsBlobSync, et surtout net.BoundSocket transmissible aux worker threads et child processes. perf_hooks gagne aussi SlidingWindowHistogram pour des latences p99 en fenêtre glissante.

22 Sep 2026
github.com/nodejs/node →
Sécurité

OpenBao : le recovery token fuit par timing attack (CVSS 9.1)

En recovery mode — son état le plus privilégié — OpenBao comparait le recovery token sans temps constant. Un attaquant peut l'extraire puis lire ou modifier les données du vault. Corrigé en v2.6.0. Trois autres avis le même jour : escalade de privilèges via wildcards (7.5), LIST contournant une deny policy (6.0), et l'agent écrivant des secrets sur stdout (2.4).

22 Sep 2026
github.com/advisories →
⚡

Backend TypeScript & Runtimes

Patch

Deno 2.9.7 : traceparent insensible à la casse et CA stores respectés

Petit patch avec deux correctifs sensibles : Deno.serve extrait désormais traceparent quelle que soit la casse de l'en-tête, et deno audit respecte enfin les CA stores configurés, indispensable derrière un proxy d'entreprise. Corrige aussi les complétions bash/zsh.

17 Sep 2026
github.com/denoland/deno →
Mineur

workerd v1.20260923.1 : le runtime Cloudflare garde sa cadence quotidienne

Le runtime open source derrière Cloudflare Workers publie un nouveau build quotidien. Si vous épinglez compatibility_date dans wrangler.jsonc, ce pin est précisément ce qui vous isole de ces changements. Lisez le diff avant de bouger la date.

23 Sep 2026
github.com/cloudflare/workerd →
🧩

Frameworks & Libraries

Sécurité

Fastify : une requête HTTP/2 avec trailers tue le process

Si une route enregistre un trailer via reply.trailer() et est servie en HTTP/2, Fastify ajoute inconditionnellement Transfer-Encoding: chunked, interdit en HTTP/2, et Node lève ERR_HTTP2_INVALID_CONNECTION_HEADERS. L'exception non capturée devient un uncaughtException et termine le process. Corrigé dans la ligne 6.0 alpha.

17 Sep 2026
github.com/fastify/fastify →
Notable

Traefik : le singleflight de BasicAuth réintroduit un oracle d'énumération

Belle étude de cas d'une optimisation qui casse la sécurité. Traefik regroupe les vérifications concurrentes via un singleflight.Group. Depuis 3.6.11 la clé de déduplication dépendait de l'état du serveur : un utilisateur inexistant partageait une clé (rapide), un utilisateur existant calculait son propre hash (lent). D'où un oracle temporel d'énumération non authentifié. Corrigé en 3.7.13.

22 Sep 2026
github.com/advisories →
🗄️

Databases & Data

Bêta

Valkey 9.2.0-rc1 : snapshots RDB sans fork et ACL DIGEST

Le RC apporte les snapshots RDB sans fork, opt-in via forkless-infrastructure-enabled et bgsave-default-method, avec de nouveaux champs INFO persistence. Fini les pics mémoire copy-on-write sur les grosses instances. Ajoute aussi ACL DIGEST et les commandes de stream XACKDEL/XDELEX. Urgence de mise à jour : faible.

16 Sep 2026
github.com/valkey-io/valkey →
☁️

Cloud & DevOps

GA

Amazon CloudWatch Omni GA : OpenTelemetry multi-cloud

AWS met en GA une plateforme d'observabilité qui centralise la télémétrie entre comptes, régions, Azure et d'autres fournisseurs via OpenTelemetry, avec découverte automatique des services. Point notable : des extensions locales VS Code, Cursor et Kiro fonctionnant sans compte AWS. Disponible en N. Virginia, Oregon et Irlande.

23 Sep 2026
aws.amazon.com →
Notable

Google ouvre AX, un orchestrateur façon Kubernetes pour agents

Google a ouvert AX : un orchestrateur pour charges d'agents autonomes bâti sur des primitives façon Kubernetes. Au-delà du battage médiatique, le motif mérite le détour : réconciliation déclarative appliquée à des charges non déterministes. Le modèle de ressources reste utile même sans agents.

22 Sep 2026
infoq.com →
🏗️

Architecture & Best Practices

Breaking

Un await manquant désactive complètement un contrôle de permissions (CVSS 7.1)

Celui-ci mérite cinq minutes. Dans Unleash, POST /api/admin/segments/strategies déclare permission: NONE au niveau de la route et effectue son propre contrôle via this.accessService.hasPermission(). Le await manquait. La fonction étant async, la variable reçoit toujours une Promise truthy, et le if ne se déclenche jamais. Autorisation entièrement contournée, plus un IDOR inter-projets. Corrigé en 8.0.3.

TypeScript le permet : une Promise<boolean> en contexte booléen compile sans broncher. La règle qui l'attrape est @typescript-eslint/no-misused-promises avec checksConditionals, aux côtés de no-floating-promises.

22 Sep 2026
github.com/advisories →
🔗

Fullstack

Release

pnpm 12.6.0 : autoDedupe, node_modules relocalisable et --save-types

Trois nouveautés marquantes. autoDedupe déduplique les versions compatibles pendant l'install (les installs frozen ne touchent pas au lockfile). Sur macOS et Linux, node_modules et les bin shims survivent au déplacement du projet. Et pnpm add --save-types enregistre le @types/* correspondant. Les manifests package.yaml sont enfin éditables depuis la CLI.

22 Sep 2026
github.com/pnpm/pnpm →
Breaking

Changesets v3 : patch bump pour les peer deps, ESM-only, 88% plus léger

Le changement de comportement majeur : une mise à jour de peer dependency donne désormais un patch bump aux dépendants au lieu d'un major. Tout est passé en ESM (Node 22.11+, pnpm 10, npm 10.9 ou Yarn 4.5.2) et le nettoyage fait passer l'install de 16,1 Mo à 2,1 Mo et les dépendances de 95 à 39. Nouvelles commandes pack et publish-plan.

22 Sep 2026
infoq.com →
Patch

Turborepo 2.11.3 : nettoyage interne et crates séparés

Version de maintenance, surtout du refactor : turborepo-tracing extrait dans son propre crate, le spawning des processus enfants déplacé vers turborepo-process, et suppression du cache de compilation Cargo expérimental. Rien ne change dans votre turbo.json.

22 Sep 2026
github.com/vercel/turborepo →