← Backend y Fullstack

Backend & Fullstack Daily — 1 Oct 2026: better-auth ATO crítico, tanda de Fastify y RCE en next/og

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

Seguridad

better-auth: un state de OAuth sirve como Magic Link para loguearte como otro usuario (crítico, CVSS 9.1)

Advisory crítico en better-auth desde 1.4.0-beta.18 hasta antes de 1.7.7: el plugin de Magic Link acepta un state de sign-in OAuth como token de Magic Link, lo que habilita account takeover. Estás expuesto si tenés Magic Link con storeToken: "plain" (el default), algún provider social o Generic OAuth activo, y el state de OAuth guardado en base de datos (el default cuando configurás DB o secondary storage). El fix es 1.7.7, sin migración, pero hay que actualizar todos los servers que comparten verification storage a la vez, pedir Magic Links nuevos y reiniciar los sign-ins OAuth/SAML pendientes. Si usás better-auth, esto va antes que el café.

30 Sep 2026
github.com/better-auth →
Seguridad

Fastify: cinco advisories de una — bypass de auth vía URLs malformadas, reemplazo de body y validación salteada

Cuatro high y un medium publicados juntos. El más jodido: CVE-2026-76169 — una URL malformada bajo el prefix de un plugin termina en el setNotFoundHandler() de otro plugin hermano y saltea su preHandler; si ahí ponés auth, se la saltean. CVE-2026-84504: con validadores JSON Schema $async, si el payload trae una propiedad value, Fastify reemplaza la parte del request entera por ese valor. Los otros dos high saltean la validación de headers (normalización de mayúsculas incompleta) y de schemas booleanos false; el medium es un DoS por trailers HTTP/2. Parcheado en 5.12.2 (latest 5.12.5). El de URLs malformadas afecta desde 4.0.0 y no hay fix en la línea 4: si seguís en v4, migrá.

30 Sep 2026
github.com/advisories →
Seguridad

Next.js: RCE en ImageResponse de next/og cuando metés input del usuario en el SVG (crítico, CVSS 9.5)

La implementación Node de ImageResponse en next/og hereda una vulnerabilidad upstream que permite ejecución remota de código. Te afecta si pasás valores controlados por el atacante (típico: un query param tipo ?title= para OG images dinámicas) a contenido, atributos o estilos SVG. Rango: next >= 16.2.0, < 16.3.6. Actualizá a 16.3.6 o superior — y de paso, ¿realmente necesitás que cualquiera genere OG images arbitrarias? Validá y acotá ese input.

30 Sep 2026
github.com/advisories →
🔒

Security

Seguridad

@nestjs/platform-fastify: un request target absoluto saltea el middleware con scope de path

Advisory high en el adapter de Fastify de NestJS: un request con target absoluto (GET http://host/path HTTP/1.1 en vez de GET /path) llega al handler sin pasar por el middleware de Nest bindeado a esa ruta. Si hacés auth o rate limiting con consumer.apply(...).forRoutes(...), es un bypass directo. Parcheado en 12.0.2 y 11.2.4; el advisory recomienda ir a 12.0.3 / 11.2.5. Moraleja de arquitectura: la auth va en guards, no en middleware por path.

30 Sep 2026
github.com/advisories →
Seguridad

@grpc/grpc-js: getAuthContext no distingue certificados autorizados de no autorizados

CVE-2026-101916 (high): con requireClientCertificate: false, getAuthContext devuelve lo mismo para certificados válidos y no válidos. Si autenticás en base a eso — y @grpc/grpc-js-xds lo hace — un cliente con un cert no autorizado pasa. Parcheado en 1.13.6 y 1.14.5.

30 Sep 2026
github.com/advisories →
Seguridad

Axios: doce advisories el mismo día — gadgets de prototype pollution, ReDoS y bypass de proxy

Barrido grande sobre axios: varios gadgets de prototype pollution (por ejemplo CVE-2026-101909, CVSS 8.3, en las opciones de toFormData) que convierten una contaminación existente en requests alterados, dos ReDoS que congelan el event loop (parser de data: URIs y normalización de NO_PROXY), el adapter HTTP/2 que ignora tu DNS lookup y proxy, y maxRedirects: 0 que el adapter fetch no respeta. Fix en 1.20.0 (y 0.34.0 para la rama vieja). Axios está en casi todo backend Node: pnpm why axios y actualizá.

30 Sep 2026
github.com/advisories →
Seguridad

hono/jsx: strings planos sin escapar en Suspense, ErrorBoundary y renderToString (XSS)

CVE-2026-93981: un string plano como hijo o fallback de Suspense/ErrorBoundary, como único hijo de un Context.Provider, o como raíz de renderToString() se emite como markup en vez de texto. Si ahí cae input del usuario, tenés XSS. Fix en 4.13.7; la latest es 4.13.12.

30 Sep 2026
github.com/advisories →
Seguridad

Angular SSR: DoS con matrix params numéricos en la URL (CVSS 8.2)

CVE-2026-101896 en @angular/router con SSR sobre Node: nombres numéricos de matrix params u outlets (/a;990;2522) hacen que V8 los trate como índices de array y el server se cae. Fix en 22.2.0, 21.2.24 y 20.3.32; la 19 no tiene parche.

30 Sep 2026
github.com/advisories →
🧩

Frameworks & Libraries

RC

Prisma 8.0.0-rc.14: el cliente serverless de Postgres iguala la API de postgres()

connect() en el cliente serverless de Postgres ahora devuelve db.orm, db.transaction(...) y db.prepare(...), igual que un cliente postgres(). Los defaults de fecha/hora se guardan en un texto canónico (el hash de storage ya no depende de cómo los escribiste), el ORM de Mongo pasa todo por el codec de cada campo, y los comandos CLI de Postgres funcionan con defaults de fecha en Node 24, que no trae Temporal. Seguimos en RC: probalo en staging, no en prod.

30 Sep 2026
github.com/prisma →
🗄️

Databases & Data

GA

Aurora PostgreSQL consulta Apache Iceberg y Parquet en S3 con foreign tables, sin ETL

GA en Aurora PostgreSQL 17.11, 18.6 y superiores, en todas las regiones comerciales y GovCloud, sin costo extra. Consultás datos Iceberg/Parquet en S3 o en el Glue Data Catalog (o cualquier catálogo compatible con Iceberg REST) con SQL estándar, o los materializás en tablas nativas. Para el clásico «necesito joinear la tabla transaccional con el data lake» te ahorra un pipeline entero. Ojo con la latencia: no es un reemplazo de tu warehouse.

30 Sep 2026
aws.amazon.com →
Destacado

Aurora Serverless escala hasta 16 ACUs en un segundo

Escala en saltos más grandes — hasta 16 ACUs en un segundo, con tope de 256 — y viene activado solo en platform versions 3 y 4. Si estás en 1 o 2, podés saltar directo a la 4. Para picos bruscos de tráfico es una mejora real sobre el escalado gradual de antes.

30 Sep 2026
aws.amazon.com →
☁️

Cloud & DevOps

Destacado

Cloudflare soporta el header Vary en el edge, con controles para evitar cache thrashing

Soporte nativo de Vary en todos los planes vía Cache Rules, con tres acciones — normalize, pass through y bypass — para decidir cómo cada header del request impacta en la cache key. Por fin podés negociar idioma o formato de imagen desde el origin sin que el hit ratio se desplome por la variedad infinita de Accept y Accept-Language.

29 Sep 2026
infoq.com →
🏗️

Architecture & Best Practices

Destacado

Cursor Continuity: Git sobre un write-ahead log en S3, más de 300 pushes por segundo

En vez de coordinar réplicas, Cursor usa un WAL respaldado en S3 como fuente de verdad y trata los repos en NVMe local como simple cache. Resultado: lecturas que escalan linealmente hasta 100 réplicas y más de 300 pushes/s sobre S3 Express One Zone, donde el cuello de botella pasa a ser la compactación de Git. El trade-off es clásico y vale estudiarlo: movés el límite de consistencia de la sincronización entre réplicas al object storage durable, y pagás en ancho de banda lo que ahorrás en coordinación. Patrón aplicable a cualquier sistema con estado que quiera escalar lecturas sin Raft.

30 Sep 2026
infoq.com →
🔥

Top Stories

Security

better-auth: an OAuth state value works as a Magic Link to sign in as another user (critical, CVSS 9.1)

Critical advisory in better-auth from 1.4.0-beta.18 up to before 1.7.7: the Magic Link plugin accepts an OAuth sign-in state value as a Magic Link token, enabling account takeover. You are exposed if Magic Link uses storeToken: "plain" (the default), at least one social or Generic OAuth provider is enabled, and OAuth state is stored in the database (the default when a database or secondary storage is configured). The fix is 1.7.7, no migration required, but all servers sharing verification storage must upgrade together, users must request new Magic Links, and pending OAuth/SAML sign-ins must restart.

30 Sep 2026
github.com/better-auth →
Security

Fastify: five advisories at once — auth bypass via malformed URLs, body replacement and skipped validation

Four high and one medium published together. The nastiest: CVE-2026-76169 — a malformed URL under one plugin's prefix reaches the setNotFoundHandler() of a sibling plugin and skips its preHandler; if your auth lives there, it gets bypassed. CVE-2026-84504: with $async JSON Schema validators, a payload carrying a value property makes Fastify replace the whole request part with that value. The other two highs skip header validation (incomplete case normalization) and boolean false schemas; the medium is an HTTP/2 trailer DoS. Fixed in 5.12.2 (latest 5.12.5). The malformed-URL bug affects 4.0.0+ with no 4.x fix: if you are still on v4, migrate.

30 Sep 2026
github.com/advisories →
Security

Next.js: RCE in next/og ImageResponse when user input reaches the SVG (critical, CVSS 9.5)

The Node implementation of ImageResponse in next/og inherits an upstream vulnerability enabling remote code execution. You are affected if you pass attacker-controlled values (typically a query param like ?title= for dynamic OG images) into SVG content, attributes or styles. Range: next >= 16.2.0, < 16.3.6. Upgrade to 16.3.6 or later — and validate and constrain that input regardless.

30 Sep 2026
github.com/advisories →
🔒

Security

Security

@nestjs/platform-fastify: an absolute-form request target skips path-scoped middleware

High-severity advisory in NestJS's Fastify adapter: a request with an absolute-form target (GET http://host/path HTTP/1.1 instead of GET /path) reaches the handler without running the Nest middleware bound to that route. If you do auth or rate limiting via consumer.apply(...).forRoutes(...), that is a direct bypass. Fixed in 12.0.2 and 11.2.4; the advisory recommends 12.0.3 / 11.2.5. Architecture lesson: auth belongs in guards, not path-scoped middleware.

30 Sep 2026
github.com/advisories →
Security

@grpc/grpc-js: getAuthContext does not distinguish authorized from unauthorized certificates

CVE-2026-101916 (high): with requireClientCertificate: false, getAuthContext returns the same thing for authorized and unauthorized certificates. If you authenticate based on it — and @grpc/grpc-js-xds does — a client with an unauthorized cert gets through. Fixed in 1.13.6 and 1.14.5.

30 Sep 2026
github.com/advisories →
Security

Axios: twelve advisories in one day — prototype-pollution gadgets, ReDoS and proxy bypasses

Big sweep over axios: several prototype-pollution gadgets (e.g. CVE-2026-101909, CVSS 8.3, in toFormData options) that turn existing pollution into altered requests, two ReDoS bugs that freeze the event loop (data: URI parser and NO_PROXY normalization), the HTTP/2 adapter ignoring your DNS lookup and proxy, and maxRedirects: 0 not enforced by the fetch adapter. Fixed in 1.20.0 (and 0.34.0 for the legacy line). Run pnpm why axios and upgrade.

30 Sep 2026
github.com/advisories →
Security

hono/jsx: plain strings rendered unescaped in Suspense, ErrorBoundary and renderToString (XSS)

CVE-2026-93981: a plain string as the child or fallback of Suspense/ErrorBoundary, the only child of a Context.Provider, or the root of renderToString() is emitted as markup instead of text. If user input lands there, that is XSS. Fixed in 4.13.7; latest is 4.13.12.

30 Sep 2026
github.com/advisories →
Security

Angular SSR: DoS via numeric URL matrix parameters (CVSS 8.2)

CVE-2026-101896 in @angular/router with SSR on Node: numeric matrix-parameter or outlet names (/a;990;2522) make V8 treat them as array indices and take the server down. Fixed in 22.2.0, 21.2.24 and 20.3.32; v19 has no patch.

30 Sep 2026
github.com/advisories →
🧩

Frameworks & Libraries

RC

Prisma 8.0.0-rc.14: the Postgres serverless client matches the postgres() API

connect() on the Postgres serverless client now returns db.orm, db.transaction(...) and db.prepare(...), same as a postgres() client. Date/time defaults are stored in one canonical text (storage hash no longer depends on how you wrote them), the Mongo ORM routes every value through its field codec, and Postgres CLI commands work with date defaults on Node 24, which lacks Temporal. Still an RC: try it in staging.

30 Sep 2026
github.com/prisma →
🗄️

Databases & Data

GA

Aurora PostgreSQL queries Apache Iceberg and Parquet on S3 via foreign tables, no ETL

GA on Aurora PostgreSQL 17.11, 18.6 and later, in all commercial and GovCloud regions, at no extra charge. Query Iceberg/Parquet data in S3 or the Glue Data Catalog (or any Iceberg REST-compatible catalog) with standard SQL, or materialize it into native tables. For the classic join-OLTP-with-the-lake case it removes a whole pipeline — just don't mistake it for a warehouse.

30 Sep 2026
aws.amazon.com →
Notable

Aurora Serverless now adds up to 16 ACUs within a second

Scales in larger steps — up to 16 ACUs within a second, up to a 256 ACU max — enabled automatically on platform versions 3 and 4. Clusters on 1 or 2 can upgrade straight to 4. A real improvement for spiky traffic.

30 Sep 2026
aws.amazon.com →
☁️

Cloud & DevOps

Notable

Cloudflare supports the Vary header at the edge, with controls to prevent cache thrashing

Native Vary support on all plans via Cache Rules, with three actions — normalize, pass through and bypass — controlling how each request header affects the cache key. You can finally negotiate language or image format at the origin without hit ratios collapsing under endless Accept and Accept-Language variants.

29 Sep 2026
infoq.com →
🏗️

Architecture & Best Practices

Notable

Cursor Continuity: Git on an S3 write-ahead log, over 300 pushes per second

Instead of coordinating replicas, Cursor uses an S3-backed WAL as the source of truth and treats local NVMe repos as caches. Result: reads scale linearly to 100 replicas and over 300 pushes/s on S3 Express One Zone, where Git compaction becomes the bottleneck. A classic trade-off worth studying: the consistency boundary moves from replica sync to durable object storage, trading coordination overhead for bandwidth cost. Applicable to any stateful system that wants read scale without Raft.

30 Sep 2026
infoq.com →
🔥

Top Stories

Sécurité

better-auth : une valeur state OAuth sert de Magic Link pour se connecter en tant qu'un autre utilisateur (critique, CVSS 9.1)

Advisory critique dans better-auth de 1.4.0-beta.18 jusqu'avant 1.7.7 : le plugin Magic Link accepte une valeur state OAuth comme token Magic Link, ce qui permet une prise de compte. Exposé si Magic Link utilise storeToken: "plain" (par défaut), qu'un provider social ou Generic OAuth est actif et que le state OAuth est stocké en base (par défaut). Correctif en 1.7.7, sans migration, mais tous les serveurs partageant le stockage de vérification doivent être mis à jour ensemble.

30 Sep 2026
github.com/better-auth →
Sécurité

Fastify : cinq advisories d'un coup — contournement d'auth via URLs malformées, remplacement du body et validation ignorée

Quatre high et un medium publiés ensemble. Le pire : CVE-2026-76169 — une URL malformée sous le préfixe d'un plugin atteint le setNotFoundHandler() d'un plugin voisin et saute son preHandler. CVE-2026-84504 : avec un validateur $async, une propriété value remplace toute la partie de la requête. Les autres contournent la validation des headers et des schémas false ; le medium est un DoS HTTP/2. Corrigé en 5.12.2 (dernière 5.12.5) ; pas de correctif pour la v4.

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

Next.js : RCE dans ImageResponse de next/og quand une entrée utilisateur atteint le SVG (critique, CVSS 9.5)

L'implémentation Node de ImageResponse dans next/og hérite d'une vulnérabilité amont permettant une exécution de code à distance si des valeurs contrôlées par l'attaquant atteignent le contenu, les attributs ou les styles SVG. Plage : next >= 16.2.0, < 16.3.6. Mettez à jour vers 16.3.6 ou plus.

30 Sep 2026
github.com/advisories →
🔒

Security

Sécurité

@nestjs/platform-fastify : une cible de requête en forme absolue ignore le middleware lié au chemin

Advisory high dans l'adaptateur Fastify de NestJS : une requête en forme absolue (GET http://host/path) atteint le handler sans exécuter le middleware Nest lié à la route. Corrigé en 12.0.2 et 11.2.4 (recommandé : 12.0.3 / 11.2.5).

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

@grpc/grpc-js : getAuthContext ne distingue pas les certificats autorisés des non autorisés

CVE-2026-101916 (high) : avec requireClientCertificate: false, getAuthContext ne distingue pas les certificats autorisés. Corrigé en 1.13.6 et 1.14.5.

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

Axios : douze advisories en un jour — gadgets de prototype pollution, ReDoS et contournements de proxy

Grosse série sur axios : plusieurs gadgets de prototype pollution (dont CVE-2026-101909, CVSS 8.3), deux ReDoS, l'adaptateur HTTP/2 qui ignore DNS et proxy, et maxRedirects: 0 non respecté par l'adaptateur fetch. Corrigé en 1.20.0 et 0.34.0.

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

hono/jsx : chaînes simples rendues sans échappement dans Suspense, ErrorBoundary et renderToString (XSS)

CVE-2026-93981 : une chaîne simple dans Suspense, ErrorBoundary, un Context.Provider ou renderToString() est émise comme du HTML. Corrigé en 4.13.7 (dernière : 4.13.12).

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

Angular SSR : DoS via des paramètres matriciels numériques dans l'URL (CVSS 8.2)

CVE-2026-101896 dans @angular/router en SSR sur Node : des noms numériques de paramètres matriciels provoquent un DoS. Corrigé en 22.2.0, 21.2.24 et 20.3.32.

30 Sep 2026
github.com/advisories →
🧩

Frameworks & Libraries

RC

Prisma 8.0.0-rc.14 : le client serverless Postgres aligne son API sur postgres()

connect() du client serverless Postgres renvoie désormais db.orm, db.transaction(...) et db.prepare(...). Defaults de date canoniques, codecs systématiques pour Mongo et CLI Postgres compatible Node 24 sans Temporal.

30 Sep 2026
github.com/prisma →
🗄️

Databases & Data

GA

Aurora PostgreSQL interroge Apache Iceberg et Parquet sur S3 via des foreign tables, sans ETL

GA sur Aurora PostgreSQL 17.11, 18.6 et plus, dans toutes les régions commerciales et GovCloud, sans surcoût. Requêtes SQL sur Iceberg/Parquet dans S3 ou Glue, ou matérialisation en tables natives.

30 Sep 2026
aws.amazon.com →
Notable

Aurora Serverless ajoute jusqu'à 16 ACU en une seconde

Mise à l'échelle par paliers plus grands — jusqu'à 16 ACU en une seconde, maximum 256 — activée automatiquement sur les versions de plateforme 3 et 4.

30 Sep 2026
aws.amazon.com →
☁️

Cloud & DevOps

Notable

Cloudflare prend en charge l'en-tête Vary à l'edge, avec des contrôles contre le cache thrashing

Prise en charge native de Vary sur tous les plans via Cache Rules, avec trois actions — normalize, pass through et bypass — pour contrôler l'impact des en-têtes sur la clé de cache.

29 Sep 2026
infoq.com →
🏗️

Architecture & Best Practices

Notable

Cursor Continuity : Git sur un write-ahead log S3, plus de 300 pushes par seconde

Au lieu de coordonner des réplicas, Cursor utilise un WAL sur S3 comme source de vérité et traite les dépôts NVMe locaux comme des caches : lectures linéaires jusqu'à 100 réplicas et plus de 300 pushes/s sur S3 Express One Zone. La cohérence passe de la synchronisation des réplicas au stockage objet durable.

30 Sep 2026
infoq.com →