Backend & Fullstack Daily — 16 oct. 2026 : XSS critique dans TanStack Start, Podman CVSS 10 et contournement d'auth PgBouncer
KEDA: un namespace admin puede robar el token del operator y leer todos los Secrets (CVE-2026-77524)
CVSS 9.9. Con un TriggerAuthentication y un ScaledObject en su propio namespace, un tenant hace que el operator mande su ServiceAccount token a una URL suya; ese token tiene get cluster-wide sobre todo. Clusters multi-tenant: actualizá a 2.21.0 sin pensarlo.
Argo CD: los hooks PreDelete/PostDelete se saltean las restricciones del AppProject (CVE-2026-77459)
CVSS 9.9. El chequeo de destinos y allow/deny lists del AppProject no corre en los delete hooks, así que al borrar una Application se pueden crear recursos fuera de lo permitido. Parches en 3.3.15, 3.4.10 y 3.5.4; la rama 2.x queda sin fix.
containerd CRI: restaurar un checkpoint no confiable saltea el security context (CVE-2026-95837)
Mismo patrón que Podman: CRIU restaura credenciales y capabilities del checkpoint y el container corre con privilegios elevados. CVSS 7.8, fix en 2.2.7 y 2.3.4. Los checkpoints son la superficie de ataque de la semana.
OpenNext Cloudflare: paths percent-encoded saltean el middleware vía cache (CVE-2026-100409)
Con cache interception activa, el matcher del middleware y la cache key interpretan distinto un path encodeado: la request no matchea tu middleware de auth pero cae en la cache de la ruta protegida. CVSS 7.5, actualizá @opennextjs/cloudflare a 1.20.2.
Qwik: una sola request sin auth tumba el server (CVE-2026-84994)
Un thenable armado en el body qwik-json deja una promise rechazada huérfana y el proceso muere en la config default. CVSS 8.7, fix en @builder.io/qwik 1.20.0 y @qwik.dev/core 2.0.0-beta37.
PostgreSQL 19 RC1: GA prevista para el 19 de noviembre
Fixes en REPACK (CONCURRENTLY), pg_plan_advice, autovacuum paralelo y en optimizaciones del planner basadas en nullability. Cambio a tener en cuenta: COPY (query) TO ... (FORMAT json) ahora usa los nombres de columna de la query, alias incluidos. RC2 el 12/11. Ya podés probarla también en el Preview Environment de RDS.
DynamoDB Streams: leer desde un timestamp con AT_TIMESTAMP
Hasta ahora era «desde lo más viejo» o «desde ahora». Con el shard iterator AT_TIMESTAMP retomás tras una caída sin reprocesar 24 horas, hacés replay para debugging o te sincronizás después de un export PITR. Sin costo extra; funciona con KCL vía el adapter.
Lambda Durable Execution SDK para Go llega a GA
Workflows con checkpoints que pueden pausar hasta un año, callbacks para aprobación humana y chaining de funciones, todo en un binario estático sobre provided.al2023. Lo mejor: durabletest para testear local sin credenciales y durablelint que marca código que rompería el replay.
Lambda detecta y corta loops recursivos con EventBridge Custom buses
Activado por default: si tu función publica en un Custom bus que la vuelve a invocar, Lambda frena el loop antes de que te llegue la factura. Un safety net barato para arquitecturas event-driven.
kin-openapi: nueve advisories, incluido un bypass de security requirements por path encodeado
La lección de API design del día: el ValidationHandler elige la operación OpenAPI desde el path decodificado, pero un router con UseEncodedPath() rutea desde el encodeado, así que validás una operación y ejecutás otra (CVSS 7.4). Los otros ocho son panics y recursión infinita con specs hostiles. Fix en 0.147.0. Validación y routing tienen que ver el mismo path, siempre; es el mismo bug que OpenNext esta semana.
Grafana Tempo 3.1: redacción de trazas por TraceQL y métricas conscientes del sampling
Redactás trazas con una query TraceQL (con dry-run, porque no se deshace) y el hint (extrapolate=true) escala métricas según el sampling de tracestate de OpenTelemetry. Ojo: workers anteriores a 3.1 ignoran los flags de rango y borran todo lo que matchea; actualizá todo antes de usarlo.
Vitest 5.0.5: cleanups de hooks, cancel que aborta todo y menos leaks de mocks
Los cleanups de hooks ahora corren aunque falle un hook posterior, cancel aborta todos los tests en curso y se liberan los mocks de archivos terminados. También mantiene el fs.deny default de Vite con api token. Backport a 4.1.12 para los que siguen en v4.
better-auth 1.8.0-beta.0: OAuth provider alineado a RFC 7009/7662, con breaking changes
El device-code approval se mueve al flujo /oauth2/authorize?user_code=, revocación e introspección siguen los RFC, se rechazan parámetros de form repetidos y los sub pairwise quedan aislados para clientes nativos. Además los emails de sign-up corren después del commit en DB: para rechazar registros usá databaseHooks.user.create.before. Leé las migraciones antes de subir.
pnpm 12.14.0: sideEffectsCache.exclude y installs que no esperan el update check
Nuevo sideEffectsCache.exclude para addons nativos cuyo build depende de libs del sistema. Además, una install no-op ya no toca el mtime del store (chau re-uploads de cache en GitLab CI) y pnpm list | head -1 ya no hace core dump. Golazo para los monorepos.
Next.js 16.4.2: fixes de Turbopack en la rama LTS activa
Backports de consistencia de snapshots en turbo-tasks, colisiones de chunks en dynamic imports lazy y errores de realpath que ahora se ignoran como en Node. Sin fixes de seguridad nuevos: si ya estás en 16.4.1 por las RCE, este es mantenimiento.
Tendencias Destacadas
Los checkpoints de containers son la superficie de ataque de la semana: Podman (CVSS 10) y containerd CRI restauran privilegios desde imágenes no confiables.
Path decodificado vs. encodeado otra vez: OpenNext Cloudflare y kin-openapi validan un path y rutean otro. Normalizá una sola vez, al borde.
El control plane de Kubernetes multi-tenant sigue frágil: KEDA y Argo CD, ambos CVSS 9.9, escalan de namespace a cluster.
KEDA: a namespace admin can exfiltrate the operator token and read every Secret (CVE-2026-77524)
CVSS 9.9. With a TriggerAuthentication and a ScaledObject in their own namespace, a tenant makes the operator send its ServiceAccount token to a URL they control; that token has cluster-wide get on everything. Upgrade to 2.21.0.
Argo CD: PreDelete/PostDelete hooks bypass AppProject restrictions (CVE-2026-77459)
CVSS 9.9. AppProject destination and allow/deny-list checks are skipped for delete hooks, so deleting an Application can create resources outside the project's limits. Fixed in 3.3.15, 3.4.10 and 3.5.4; 2.x gets no patch.
containerd CRI: restoring an untrusted checkpoint bypasses the security context (CVE-2026-95837)
Same pattern as Podman: CRIU restores credentials and capabilities from the checkpoint, so the container runs with elevated privileges. CVSS 7.8, fixed in 2.2.7 and 2.3.4.
OpenNext Cloudflare: percent-encoded paths bypass middleware through the cache (CVE-2026-100409)
With cache interception enabled, middleware matching and the cache key decode an encoded path differently: the request misses your auth middleware but lands on the protected route's cached response. CVSS 7.5, upgrade @opennextjs/cloudflare to 1.20.2.
Qwik: one unauthenticated request crashes the server (CVE-2026-84994)
A crafted thenable in the qwik-json body leaves an orphaned rejected promise that kills the process in the default configuration. CVSS 8.7, fixed in @builder.io/qwik 1.20.0 and @qwik.dev/core 2.0.0-beta37.
PostgreSQL 19 RC1: GA planned for November 19
Fixes to REPACK (CONCURRENTLY), pg_plan_advice, parallel autovacuum and nullability-based planner optimizations. Behavior change: COPY (query) TO ... (FORMAT json) now uses the query's column names, aliases included. RC2 lands Nov 12, and RC1 is already in the RDS Preview Environment.
DynamoDB Streams: read from a point in time with AT_TIMESTAMP
Until now it was oldest record or new records only. The AT_TIMESTAMP shard iterator lets you resume after an outage without reprocessing 24 hours, replay for debugging, or sync after a PITR export. No extra charge; works with KCL through the adapter.
Lambda Durable Execution SDK for Go is generally available
Checkpointed workflows that can pause for up to a year, callbacks for human approval and function chaining, shipped as one static binary on provided.al2023. The highlights: durabletest for local tests without credentials and durablelint to flag code that would break on resume.
Lambda recursive loop detection now covers EventBridge Custom buses
On by default: if your function publishes to a Custom bus that invokes it again, Lambda stops the loop before it shows up on your bill. A cheap safety net for event-driven architectures.
kin-openapi: nine advisories, including a security-requirement bypass via encoded paths
The API-design lesson of the day: ValidationHandler picks the OpenAPI operation from the decoded path, while a router with UseEncodedPath() routes on the encoded one, so you validate one operation and execute another (CVSS 7.4). The other eight are panics and unbounded recursion on hostile specs. Fixed in 0.147.0. Validation and routing must see the same path, which is the same bug class as OpenNext this week.
Grafana Tempo 3.1: TraceQL-based trace redaction and sampling-aware metrics
Redact traces with a TraceQL query (with dry-run, since it is irreversible), and the (extrapolate=true) hint scales metrics by the OpenTelemetry tracestate sampling rate. Caution: pre-3.1 workers ignore the time-range flags and delete every match, so upgrade everything first.
Vitest 5.0.5: hook cleanups, cancel aborts everything, fewer mock leaks
Hook cleanups now run even when a later hook fails, cancel aborts every running test, and mocks of finished files are released. It also keeps Vite's default fs.deny when an API token is set. Backported to 4.1.12.
better-auth 1.8.0-beta.0: OAuth provider aligned with RFC 7009/7662, with breaking changes
Device-code approval moves into the /oauth2/authorize?user_code= flow, revocation and introspection follow the RFCs, repeated form parameters are rejected, and pairwise sub values are isolated for native clients. Sign-up emails now run after database work completes; use databaseHooks.user.create.before to reject sign-ups.
pnpm 12.14.0: sideEffectsCache.exclude and installs that skip waiting on the update check
New sideEffectsCache.exclude for native addons whose build depends on system libraries. A no-op install no longer touches the store's mtime (no more GitLab CI cache re-uploads), and pnpm list | head -1 no longer core dumps.
Next.js 16.4.2: Turbopack fixes on the active LTS line
Backports for turbo-tasks snapshot consistency, lazy dynamic-import chunk collisions, and realpath errors now ignored as Node does. No new security fixes: if you are already on 16.4.1 for the RCEs, this is maintenance.
Notable Trends
Container checkpoints are this week's attack surface: Podman (CVSS 10) and containerd CRI both restore privileges from untrusted images.
Decoded vs encoded paths again: OpenNext Cloudflare and kin-openapi validate one path and route another. Normalize once, at the edge.
Multi-tenant Kubernetes control planes remain fragile: KEDA and Argo CD, both CVSS 9.9, escalate from namespace to cluster.
KEDA : un admin de namespace peut exfiltrer le token de l'opérateur et lire tous les Secrets (CVE-2026-77524)
CVSS 9.9. Un tenant peut amener l'opérateur à envoyer son token de ServiceAccount vers une URL contrôlée ; ce token a un get global. Passez à 2.21.0.
Argo CD : les hooks PreDelete/PostDelete contournent les restrictions d'AppProject (CVE-2026-77459)
CVSS 9.9. Les vérifications d'AppProject ne s'appliquent pas aux delete hooks. Corrigé en 3.3.15, 3.4.10 et 3.5.4 ; pas de correctif pour 2.x.
containerd CRI : restaurer un checkpoint non fiable contourne le security context (CVE-2026-95837)
Même schéma que Podman : CRIU restaure les credentials du checkpoint. CVSS 7.8, corrigé en 2.2.7 et 2.3.4.
OpenNext Cloudflare : des chemins encodés contournent le middleware via le cache (CVE-2026-100409)
Avec la cache interception, un chemin encodé échappe au middleware d'auth mais tombe sur le cache de la route protégée. CVSS 7.5, passez à 1.20.2.
Qwik : une seule requête sans auth fait planter le serveur (CVE-2026-84994)
Un thenable forgé dans le body qwik-json fait planter le processus. CVSS 8.7, corrigé en 1.20.0 et 2.0.0-beta37.
PostgreSQL 19 RC1 : GA prévue le 19 novembre
Corrections pour REPACK (CONCURRENTLY), pg_plan_advice et l'autovacuum parallèle. COPY (query) TO ... (FORMAT json) utilise désormais les noms de colonnes de la requête. RC2 le 12/11.
DynamoDB Streams : lecture depuis un horodatage avec AT_TIMESTAMP
L'itérateur AT_TIMESTAMP permet de reprendre après une panne sans tout retraiter, ou de rejouer pour le debug. Sans surcoût ; compatible KCL.
Le SDK Lambda Durable Execution pour Go est disponible en GA
Workflows avec checkpoints pouvant attendre jusqu'à un an, callbacks d'approbation humaine, binaire statique sur provided.al2023. durabletest pour les tests locaux et durablelint pour détecter le code non rejouable.
Lambda détecte désormais les boucles récursives avec les Custom buses EventBridge
Activé par défaut : Lambda stoppe la boucle avant qu'elle ne pèse sur la facture.
kin-openapi : neuf advisories, dont un contournement des security requirements via chemin encodé
Le ValidationHandler choisit l'opération depuis le chemin décodé, le router depuis le chemin encodé : on valide une opération et on en exécute une autre (CVSS 7.4). Corrigé en 0.147.0.
Grafana Tempo 3.1 : rédaction de traces via TraceQL et métriques tenant compte de l'échantillonnage
Rédaction de traces par requête TraceQL et hint (extrapolate=true) selon l'échantillonnage OpenTelemetry. Attention aux workers antérieurs à 3.1.
Vitest 5.0.5 : nettoyage des hooks, annulation complète, moins de fuites de mocks
Les cleanups de hooks s'exécutent même si un hook suivant échoue, et l'annulation stoppe tous les tests. Rétroporté en 4.1.12.
better-auth 1.8.0-beta.0 : provider OAuth aligné sur RFC 7009/7662, avec breaking changes
L'approbation device-code passe par /oauth2/authorize?user_code=, révocation et introspection suivent les RFC, paramètres répétés rejetés. Lisez les migrations avant la mise à jour.
pnpm 12.14.0 : sideEffectsCache.exclude et installations qui n'attendent plus le contrôle de mise à jour
Nouveau sideEffectsCache.exclude pour les addons natifs ; une installation sans changement ne modifie plus le mtime du store.
Next.js 16.4.2 : correctifs Turbopack sur la branche LTS active
Rétroportages Turbopack (snapshots, collisions de chunks, erreurs realpath). Pas de correctif de sécurité.
Tendances Notables
Les checkpoints de containers sont la surface d'attaque de la semaine : Podman (CVSS 10) et containerd CRI.
Chemin décodé contre encodé, encore : OpenNext Cloudflare et kin-openapi valident un chemin et en routent un autre.
Les control planes Kubernetes multi-tenant restent fragiles : KEDA et Argo CD, tous deux CVSS 9.9.