← Backend et Fullstack

Backend & Fullstack Daily — 26 oct. 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

php2shell: dos RCE en PHP (CVSS 9.2) explotadas antes del parche

CVE-2026-109618 y CVE-2026-109619 son bugs de memoria en el ciclo de vida del request (manejo de out-of-memory y estado de sesión que sobrevive a su memoria). Amazon vio un intento de explotación el 17 de octubre, cuatro días antes del fix. Corregido en 8.5.12, 8.4.27, 8.3.36 y 8.2.35; con Apache mod_php el RCE está confirmado con límites por defecto. Ojo: un tercero, CVE-2026-115560, sigue sin parche; mitigalo con session.upload_progress.enabled=0. Actualizá y reiniciá TODOS los workers.

25 Oct 2026
infoq.com →
Breaking

Brecha en PingCAP: registros del control plane de TiDB Cloud y código fuente expuestos

PingCAP confirmó la exportación de nombres, emails, asociaciones de organización y proyecto, y texto del SQL editor; dice que no hay evidencia de impacto en los datos guardados en TiDB. El atacante (FulcrumSec) reclama 10,6 TB, unas 115K API keys de consola y 413 repos privados, todavía sin verificar. Si usás TiDB Cloud, rotá YA las management API keys y esperá phishing dirigido con datos muy creíbles.

25 Oct 2026
infoq.com →
Seguridad

CVE-2026-111181: body-parser se cae con un solo request comprimido

Un frame gzip válido seguido de bytes extra deja el stream de descompresión sin error listener; el error termina como excepción no capturada y mata el proceso. Afecta la config por defecto, sin auth y antes del routing, así que todo Express expuesto es candidato. Fix en body-parser 2.4.0 / 1.20.9; si no aceptás bodies comprimidos, inflate: false como workaround.

23 Oct 2026
github.com/advisories →
Seguridad

CVE-2026-114509: bypass de TokenGuard en Laravel (CVSS 9.2)

Con un guard de API basado en token y MySQL/MariaDB, mandar una credencial que no es string hace que la query matchee otro usuario: account takeover sin conocer el token. Corregido en laravel/framework 13.29.0 y 12.68.0. Si tenés APIs con TokenGuard, esto es prioridad uno.

23 Oct 2026
github.com/advisories →
🔒

Security

Seguridad

CVE-2026-113872: multer con fileFilter async se cae con un request abortado

Si un request se aborta mientras otro fileFilter asíncrono sigue pendiente, el callback reanuda un stream ya destruido y busboy emite un 'error' sin listener: proceso muerto. Un request sin auth alcanza. Actualizá a multer 2.5.0 o pasá a un fileFilter síncrono.

23 Oct 2026
github.com/advisories →
Seguridad

fast-uri: cuatro advisories, incluido scheme spoofing con percent-encoding

normalize('%6Aavascript:alert(1)') devolvía javascript:alert(1): si validás el input crudo y después guardás o renderizás el normalizado, el filtro no sirve. Los otros tres cubren host confusion, equivalencia de paths y scheme injection. Es dependencia transitiva de Fastify y Ajv; subí a 4.2.3 / 3.1.9 / 2.4.8 y revisá el lockfile.

23 Oct 2026
github.com/advisories →
Seguridad

Echo (Go): el proxy WebSocket se saltea los middlewares de ruta (CVSS 9.1)

El Proxy middleware abría un túnel crudo antes de saber si el upstream aceptaba el upgrade; si el upstream respondía HTTP normal con keep-alive, los requests siguientes iban directo, sin pasar por tu auth. Parte de un batch de seis advisories de Echo (gzip sin límite, BodyDump, X-Real-IP). Fix en v4.16.1 y v5.4.1.

23 Oct 2026
github.com/advisories →
Seguridad

CVE-2026-109461: MSAL Node puede filtrar parámetros del auth code flow

Falta de validación de origen en @azure/msal-node permite que parámetros del authorization code flow lleguen a un endpoint del atacante. Severidad alta; fix en 7.1.0. Mientras tanto, pasale a acquireTokenByCode solo el code, no el objeto entero del callback.

23 Oct 2026
github.com/advisories →
🧩

Frameworks & Libraries

Destacado

NestJS 11.2.8: validación más estricta y rutas excluidas como el router

Un patch con olor a hardening: los errores de validación ya no exponen el objeto validado y limitan su largo, ParseArrayPipe rechaza items no numéricos y arrays anidados, y las rutas excluidas de middleware matchean igual que el router (nunca targets con # o en forma absoluta). Si dependés de exclusiones de middleware para auth, probá antes y después.

23 Oct 2026
github.com/nestjs →
Minor

Hono 4.13.14: serve-static solo GET/HEAD y peer range listo para v5

serve-static ahora solo atiende GET y HEAD y respeta los q-values de Accept-Encoding; el trie-router se queda con el primer valor en params duplicados y bearer-auth permite devolver un Response propio. Los adapters ya aceptan prereleases de Hono v5: señal de que la major está cerca.

25 Oct 2026
github.com/honojs →
☁️

Cloud & DevOps

Minor

Amazon EMR on EKS baja un 30% su cargo de EMR

La rebaja aplica tanto al cargo por vCPU-hora como al de GB-hora. Si corrés Spark sobre tus clusters de Kubernetes en AWS, es plata gratis sin tocar una línea.

23 Oct 2026
aws.amazon.com →
🏗️

Architecture & Best Practices

Destacado

Cloudflare recupera más de 100 TB de RAM optimizando consistent hashing

En pingora-ketama usaron teoría de probabilidad para calcular el mínimo de puntos de hash que mantiene la distribución de carga: ~90% menos hashes por backend y cada punto de 8 a 6 bytes. Lección para llevarse: los últimos 90.000 hashes mejoraban el error apenas 0,7%, y cambiar el ring de golpe invalida caché, así que lo rotaron en paralelo con el viejo. Medí antes de sumar réplicas virtuales.

24 Oct 2026
infoq.com →
Destacado

CSIRO: consultas genómicas serverless sin base central, indexando en vez de copiar

Los VCF comprimidos se quedan en S3; API Gateway y Lambda ubican la región y leen solo lo necesario con byte-range requests, con metadata aparte en Athena y DynamoDB. Una consulta de 10.000 pares de bases tarda 1,52 s y cuesta USD 0,00013. El patrón vale para cualquier dataset gigante: indexá en lugar de mover, consultá comprimido y separá datos de metadata.

23 Oct 2026
infoq.com →
🔗

Fullstack

Patch

Nx 24.0.1: primer patch de la 24 con fixes de daemon y pnpm

Resuelve dependencias con alias de pnpm a su propio snapshot, mantiene vivo el daemon cuando falla PROCESS_IN_BACKGROUND, deja fuera de los commits de migrate el migrations.json y sale con 1 (no 130) cuando se saltean dependientes de una tarea fallida. Si migraste a la 24, este patch va sí o sí.

23 Oct 2026
github.com/nrwl →
Minor

better-auth 1.7.13: private key JWT para Vercel y Stripe SDK v23

El provider de Vercel suma autenticación del token endpoint con tokens OIDC dinámicos y client assertions private_key_jwt; Cloudflare pasa a tokenEndpointAuth: { method } (el viejo campo queda deprecado). Además, los exports type-only ya no figuran como valores, así que un import erróneo falla en el type check y no en runtime.

25 Oct 2026
github.com/better-auth →
Patch

pnpm 10.34.9: el pin de packageManager ya no rompe --frozen-lockfile

Cuando pnpm 10 cambiaba a la versión fijada en packageManager, el lockfile nuevo no registraba ese pin y el pnpm install --frozen-lockfile siguiente fallaba en CI. Arreglado: si te pasaba esto en pipelines, actualizá.

25 Oct 2026
github.com/pnpm →
🔥

Top Stories

Breaking

php2shell: two PHP RCEs (CVSS 9.2) exploited before the patch

CVE-2026-109618 and CVE-2026-109619 are memory-safety bugs in the request lifecycle (out-of-memory handling and session state outliving its memory). Amazon saw an exploitation attempt on October 17, four days before the fix. Fixed in 8.5.12, 8.4.27, 8.3.36 and 8.2.35; with Apache mod_php, RCE is confirmed under default limits. A third bug, CVE-2026-115560, is still unpatched; mitigate with session.upload_progress.enabled=0. Upgrade and restart every worker.

25 Oct 2026
infoq.com →
Breaking

PingCAP breach: TiDB Cloud control-plane records and source code exposed

PingCAP confirmed the export of names, emails, organization and project associations, and SQL editor text; it says there is no evidence that data stored in TiDB was affected. The attacker (FulcrumSec) claims 10.6 TB, about 115K console API keys and 413 private repos, still unverified. If you use TiDB Cloud, rotate your management API keys now and expect very convincing targeted phishing.

25 Oct 2026
infoq.com →
Security

CVE-2026-111181: body-parser crashes on a single compressed request

One valid gzip frame followed by trailing bytes leaves the decompression stream without an error listener; the error surfaces as an uncaught exception and kills the process. It hits the default config, unauthenticated and before routing, so every exposed Express app qualifies. Fixed in body-parser 2.4.0 / 1.20.9; if you don't accept compressed bodies, inflate: false is the workaround.

23 Oct 2026
github.com/advisories →
Security

CVE-2026-114509: Laravel TokenGuard authentication bypass (CVSS 9.2)

With a token-based API guard on MySQL/MariaDB, sending a non-string credential makes the lookup match another user: account takeover without knowing the token. Fixed in laravel/framework 13.29.0 and 12.68.0. If your APIs use TokenGuard, this is priority one.

23 Oct 2026
github.com/advisories →
🔒

Security

Security

CVE-2026-113872: multer with an async fileFilter crashes on an aborted request

If a request is aborted while another async fileFilter is still pending, the callback resumes a torn-down stream and busboy emits an unhandled 'error': the process exits. One unauthenticated request is enough. Upgrade to multer 2.5.0 or switch to a synchronous fileFilter.

23 Oct 2026
github.com/advisories →
Security

fast-uri: four advisories, including scheme spoofing via percent-encoding

normalize('%6Aavascript:alert(1)') returned javascript:alert(1): if you screen the raw input and then store or render the normalized value, the filter is useless. The other three cover host confusion, path equivalence and scheme injection. It's a transitive dependency of Fastify and Ajv; move to 4.2.3 / 3.1.9 / 2.4.8 and check your lockfile.

23 Oct 2026
github.com/advisories →
Security

Echo (Go): the WebSocket proxy skips route middleware (CVSS 9.1)

The Proxy middleware opened a raw tunnel before checking whether the upstream accepted the upgrade; if the upstream answered plain HTTP with keep-alive, subsequent requests went straight through, skipping your auth. Part of a six-advisory Echo batch (unbounded gzip, BodyDump, X-Real-IP). Fixed in v4.16.1 and v5.4.1.

23 Oct 2026
github.com/advisories →
Security

CVE-2026-109461: MSAL Node can leak auth code flow parameters

Missing origin validation in @azure/msal-node lets authorization code flow parameters reach an attacker-controlled endpoint. High severity; fixed in 7.1.0. Until then, pass only the code to acquireTokenByCode, not the whole callback object.

23 Oct 2026
github.com/advisories →
🧩

Frameworks & Libraries

Notable

NestJS 11.2.8: stricter validation and excluded routes matched like the router

A patch that smells like hardening: validation errors no longer expose the validated object and are length-limited, ParseArrayPipe rejects non-numeric items and nested arrays, and middleware-excluded routes now match like the router does (never targets with # or in absolute form). If auth relies on middleware exclusions, test before and after.

23 Oct 2026
github.com/nestjs →
Minor

Hono 4.13.14: serve-static limited to GET/HEAD and a peer range ready for v5

serve-static now only serves GET and HEAD and honors Accept-Encoding q-values; the trie router keeps the first value for duplicate params and bearer-auth can return a custom Response. Adapters now accept Hono v5 prereleases, a sign the major is close.

25 Oct 2026
github.com/honojs →
☁️

Cloud & DevOps

Minor

Amazon EMR on EKS cuts its EMR charge by 30 percent

The cut applies to both the per-vCPU-hour and the per-GB-hour charge. If you run Spark on your Kubernetes clusters in AWS, it's free money without touching a line.

23 Oct 2026
aws.amazon.com →
🏗️

Architecture & Best Practices

Notable

Cloudflare reclaims over 100 TB of RAM by optimizing consistent hashing

In pingora-ketama they used probability theory to compute the minimum number of hash points that keeps load distribution: ~90% fewer hashes per backend and each point down from 8 to 6 bytes. Takeaway: the last 90,000 hashes improved error by just 0.7%, and switching the ring at once invalidates cache, so they rolled it out alongside the old one. Measure before adding virtual nodes.

24 Oct 2026
infoq.com →
Notable

CSIRO: serverless genomic queries without a central database, indexing instead of copying

Compressed VCF files stay in S3; API Gateway and Lambda locate the region and read only what's needed via byte-range requests, with metadata indexed separately in Athena and DynamoDB. A 10,000 base-pair query takes 1.52 s and costs USD 0.00013. The pattern fits any huge dataset: index instead of moving, query compressed data and separate data from metadata.

23 Oct 2026
infoq.com →
🔗

Fullstack

Patch

Nx 24.0.1: first 24.x patch with daemon and pnpm fixes

Resolves pnpm-aliased dependencies to their own snapshot, keeps the daemon alive when PROCESS_IN_BACKGROUND fails, keeps migrations.json out of migrate commits and exits 1 (not 130) when dependents of a failed task are skipped. If you moved to 24, take this patch.

23 Oct 2026
github.com/nrwl →
Minor

better-auth 1.7.13: private key JWT for Vercel and Stripe SDK v23

The Vercel provider adds token endpoint authentication with dynamic OIDC tokens and private_key_jwt client assertions; Cloudflare moves to tokenEndpointAuth: { method } (the old field is deprecated). Type-only exports are no longer listed as values, so a bad import fails type checking instead of at runtime.

25 Oct 2026
github.com/better-auth →
Patch

pnpm 10.34.9: the packageManager pin no longer breaks --frozen-lockfile

When pnpm 10 switched to the version pinned in packageManager, the fresh lockfile didn't record that pin and the next pnpm install --frozen-lockfile failed in CI. Fixed: if you hit this in pipelines, upgrade.

25 Oct 2026
github.com/pnpm →
🔥

Top Stories

Breaking

php2shell : deux RCE PHP (CVSS 9.2) exploitées avant le correctif

CVE-2026-109618 et CVE-2026-109619 sont des bugs mémoire du cycle de vie des requêtes (gestion du manque de mémoire et état de session qui survit à sa mémoire). Amazon a vu une tentative d'exploitation le 17 octobre, quatre jours avant le correctif. Corrigé en 8.5.12, 8.4.27, 8.3.36 et 8.2.35 ; avec Apache mod_php, la RCE est confirmée avec les limites par défaut. Un troisième bug, CVE-2026-115560, reste sans correctif : désactivez session.upload_progress.enabled. Mettez à jour et redémarrez tous les workers.

25 Oct 2026
infoq.com →
Breaking

Fuite chez PingCAP : données du control plane TiDB Cloud et code source exposés

PingCAP a confirmé l'export de noms, e-mails, rattachements organisation/projet et texte de l'éditeur SQL ; l'entreprise dit n'avoir aucune preuve d'impact sur les données stockées dans TiDB. L'attaquant (FulcrumSec) revendique 10,6 To, environ 115K clés API de console et 413 dépôts privés, non vérifiés. Si vous utilisez TiDB Cloud, changez vos clés API de gestion et attendez-vous à du phishing ciblé.

25 Oct 2026
infoq.com →
Sécurité

CVE-2026-111181 : body-parser plante sur une seule requête compressée

Une trame gzip valide suivie d'octets en trop laisse le flux de décompression sans écouteur d'erreur ; l'erreur devient une exception non interceptée et tue le processus. Cela touche la config par défaut, sans authentification et avant le routage. Corrigé en body-parser 2.4.0 / 1.20.9 ; sinon, inflate: false si vous n'acceptez pas de corps compressés.

23 Oct 2026
github.com/advisories →
Sécurité

CVE-2026-114509 : contournement de TokenGuard dans Laravel (CVSS 9.2)

Avec un guard d'API à token sur MySQL/MariaDB, une valeur d'identifiant non textuelle fait correspondre la requête à un autre utilisateur : prise de compte sans connaître le token. Corrigé en laravel/framework 13.29.0 et 12.68.0.

23 Oct 2026
github.com/advisories →
🔒

Security

Sécurité

CVE-2026-113872 : multer avec un fileFilter asynchrone plante sur une requête interrompue

Si une requête est interrompue pendant qu'un fileFilter asynchrone est en attente, le callback reprend un flux déjà détruit et busboy émet un 'error' non géré : le processus s'arrête. Passez à multer 2.5.0 ou à un fileFilter synchrone.

23 Oct 2026
github.com/advisories →
Sécurité

fast-uri : quatre avis, dont l'usurpation de schéma par percent-encoding

normalize('%6Aavascript:alert(1)') renvoyait javascript:alert(1) : filtrer l'entrée brute puis stocker la valeur normalisée ne protège plus. Les trois autres avis touchent la confusion d'hôte, l'équivalence de chemins et l'injection de schéma. Dépendance transitive de Fastify et Ajv ; passez à 4.2.3 / 3.1.9 / 2.4.8.

23 Oct 2026
github.com/advisories →
Sécurité

Echo (Go) : le proxy WebSocket contourne les middlewares de route (CVSS 9.1)

Le middleware Proxy ouvrait un tunnel brut avant de vérifier que l'upstream acceptait l'upgrade ; avec une réponse HTTP keep-alive, les requêtes suivantes passaient sans votre auth. Fait partie d'un lot de six avis Echo. Corrigé en v4.16.1 et v5.4.1.

23 Oct 2026
github.com/advisories →
Sécurité

CVE-2026-109461 : MSAL Node peut divulguer des paramètres du flux auth code

Un défaut de validation d'origine dans @azure/msal-node peut envoyer des paramètres du flux authorization code vers un endpoint contrôlé par l'attaquant. Corrigé en 7.1.0 ; d'ici là, ne passez que le code à acquireTokenByCode.

23 Oct 2026
github.com/advisories →
🧩

Frameworks & Libraries

Notable

NestJS 11.2.8 : validation plus stricte et routes exclues alignées sur le routeur

Un patch de durcissement : les erreurs de validation n'exposent plus l'objet validé et sont limitées en taille, ParseArrayPipe rejette les éléments non numériques et les tableaux imbriqués, et les routes exclues du middleware sont désormais résolues comme par le routeur.

23 Oct 2026
github.com/nestjs →
Mineur

Hono 4.13.14 : serve-static limité à GET/HEAD et peer range prêt pour v5

serve-static ne sert plus que GET et HEAD et respecte les q-values de Accept-Encoding ; bearer-auth peut renvoyer une Response personnalisée. Les adapters acceptent déjà les préversions de Hono v5.

25 Oct 2026
github.com/honojs →
☁️

Cloud & DevOps

Mineur

Amazon EMR on EKS réduit de 30 % ses frais EMR

La baisse s'applique au tarif par vCPU-heure et par Go-heure. Pour Spark sur vos clusters Kubernetes AWS, c'est une économie immédiate.

23 Oct 2026
aws.amazon.com →
🏗️

Architecture & Best Practices

Notable

Cloudflare récupère plus de 100 To de RAM en optimisant le consistent hashing

Dans pingora-ketama, Cloudflare a calculé le nombre minimal de points de hash qui préserve la répartition : ~90 % de hashes en moins par backend et des points de 8 à 6 octets. Les 90 000 derniers hashes n'amélioraient l'erreur que de 0,7 %, et le nouvel anneau a été déployé en parallèle de l'ancien pour ne pas invalider le cache.

24 Oct 2026
infoq.com →
Notable

CSIRO : requêtes génomiques serverless sans base centrale, en indexant au lieu de copier

Les fichiers VCF compressés restent dans S3 ; API Gateway et Lambda lisent uniquement la région utile via des requêtes byte-range, la métadonnée étant indexée à part dans Athena et DynamoDB. Une requête de 10 000 paires de bases prend 1,52 s pour 0,00013 USD.

23 Oct 2026
infoq.com →
🔗

Fullstack

Patch

Nx 24.0.1 : premier patch de la 24 avec correctifs daemon et pnpm

Résout les dépendances pnpm aliasées vers leur propre snapshot, garde le daemon actif si PROCESS_IN_BACKGROUND échoue et renvoie 1 (et non 130) quand des dépendants d'une tâche échouée sont ignorés.

23 Oct 2026
github.com/nrwl →
Mineur

better-auth 1.7.13 : private key JWT pour Vercel et Stripe SDK v23

Le provider Vercel ajoute l'authentification du token endpoint avec des tokens OIDC dynamiques et des assertions private_key_jwt ; Cloudflare passe à tokenEndpointAuth: { method }. Les exports purement typés ne sont plus listés comme valeurs.

25 Oct 2026
github.com/better-auth →
Patch

pnpm 10.34.9 : l'épinglage packageManager ne casse plus --frozen-lockfile

Quand pnpm 10 basculait vers la version épinglée dans packageManager, le nouveau lockfile ne l'enregistrait pas et pnpm install --frozen-lockfile échouait en CI. Corrigé.

25 Oct 2026
github.com/pnpm →