Backend y Fullstack

Backend & Fullstack — 7 de septiembre de 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

SurrealDB: cambiás el namespace en la URL y entrás al tenant de al lado

CVE-2026-63735. La ruta /api/{namespace}/{database}/{endpoint} tomaba namespace y database desde la URL y los aplicaba a la sesión del caller antes de buscar o ejecutar el endpoint, sin verificar que el scope autenticado los cubriera. Un usuario autenticado en un namespace podía invocar una custom API (DEFINE API) de otro.

Y acá viene lo que lo hace grave: un handler de custom API corre con permisos deshabilitados (definer's rights), así que la cláusula PERMISSIONS del propio endpoint era la única barrera. Si esa cláusula era abierta, no quedaba nada. Parcheado en 3.2.0.

El patrón para llevarse: tomar el tenant de un parámetro de ruta y aplicarlo a la sesión antes de autorizar es la receta clásica del cross-tenant. El scope tiene que venir del token, nunca de la URL.

04 Sep 2026
github.com/advisories →
Seguridad

Hono 4.13.7: hono/jsx emite strings sin escapar en Suspense y ErrorBoundary

GHSA-hxh3-vqpv-xpqv, CVSS 4.7. hono/jsx no escapaba un string plano puesto directamente como child o fallback de Suspense o ErrorBoundary, como único child de un Context.Provider, o como valor raíz de renderToString() / renderToReadableStream(). Esos caminos stringifican el input y tratan el resultado como HTML ya escapado, así que el string pasa tal cual.

El caso de streaming es el peor: un fallback string llega al browser en el primer chunk. El caso totalmente síncrono de ErrorBoundary ya se había arreglado en 4.11.7 — este es el hermano que se les escapó. Actualizá a 4.13.7 si renderizás contenido de usuarios ahí.

04 Sep 2026
github.com/honojs →
Seguridad

SimpleWebAuthn: la cadena de attestation no llega al trust anchor

validateCertificatePath() no verificaba que la cadena de certificados de una attestation terminara realmente en un trust anchor configurado. Al recorrer la cadena frenaba en el primer certificado self-signed que encontrara —que puede venir del usuario— y salía temprano, antes de llegar al anchor de Apple/Google/Yubico que se concatena al final.

Resultado: alguien registra una credencial y el server la acepta como si estuviera respaldada por un authenticator genuino. Severidad baja (CVSS 2) porque no rompe la autenticación en sí, pero si tu lógica de negocio confía en la attestation —para exigir hardware certificado, o para dar más privilegios a passkeys de dispositivo— esa confianza no existía. Parcheado en @simplewebauthn/server 13.3.2.

04 Sep 2026
github.com/advisories →
Release

Bun 1.4.2: se va un leak de AsyncLocalStorage que te comía el contexto por request

El fix que importa en backend es el de AsyncLocalStorage: timers, immediates o promises pendientes creados dentro de store.exit() o de un store.run() anidado mantenían vivos los valores del store externo. Traducido: si guardabas contexto por request —trace id, user, tenant— y arrancabas un timer largo, ese contexto quedaba retenido todo lo que durara el timer. En un server con tráfico real eso es un leak que crece solo.

También arreglan una regresión de bun build donde un var anidado se renombraba igual que un let del mismo bloque (rompía Elysia), el orden del evento 'online' de worker_threads para alinearse con Node —colgaba @discordjs/ws—, y suben JavaScriptCore con ~350 commits de WebKit.

05 Sep 2026
bun.sh →
🗄️

Databases & Data

Seguridad

SurrealDB: una cláusula PERMISSIONS puede escribir en tablas que no podés tocar

CVE-2026-63733. Una cláusula PERMISSIONS ... WHERE se evalúa con el enforcement de permisos apagado —lógico, si no recursaría sobre sí misma—. El problema es que esa cláusula también puede contener statements que modifican datos, y esos corrían igual con el enforcement apagado:

DEFINE TABLE post PERMISSIONS FOR update
    WHERE (CREATE log SET at = time::now()) OR true;

Cualquiera que pueda hacer update de un post ahora crea registros en log, sin tener permiso sobre log. Y la cláusula se evalúa una vez por cada record que matchea, así que un solo statement amplifica. Parcheado en surrealdb-core 3.2.0.

Esto es un caso de manual de por qué un predicado de autorización debe ser puro. Si tu chequeo de permisos puede tener efectos de lado, dejó de ser un chequeo.

04 Sep 2026
github.com/advisories →
Seguridad

SurrealDB: el deny-net se esquiva resolviendo DNS

CVE-2025-71390, CVSS 5.8. Si arrancás con surreal start --allow-net --deny-net 10.0.0.0/8, un usuario autenticado puede usar las funciones http::<fn>(<url>) con un hostname que resuelve al bloque denegado en vez de escribirlo como IP. SSRF hacia tu red interna, con la ACL puesta.

Vale la pena notar que la propia doc de SurrealDB desaconseja la config de allow-all-con-denylist. Es el recordatorio de siempre: una denylist filtra lo que escribiste, no lo que el atacante puede alcanzar. Allowlist siempre que se pueda. Parcheado en 2.1.8, 2.2.6, 2.3.6 y 3.0.0-alpha.7.

04 Sep 2026
github.com/advisories →
🔒

Security

Seguridad

CodeWhale: nueve advisories y un SSRF crítico por TOCTOU en el DNS pinning

Nueve advisories el mismo día contra el agente de coding CodeWhale (antes deepseek-tui). El crítico es CVE-2026-75856, CVSS 9.2: el DNS pinning falla de forma insegura, y con un servidor DNS custom que falla las primeras consultas y responde las siguientes se puede saltear la lógica entera — TOCTOU clásico.

El resto dibuja un mapa muy claro de la superficie de ataque de un agente: allow_shell y instructions sobreescribibles desde el repo clonado (8.5 y 8.7), rlm_eval auto-aprobando ejecución arbitraria de Python, argument injection en git_blame y git_show para leer y escribir archivos sin approval, js_execution filtrando el environment del proceso padre al contexto del modelo, e image_analyze siguiendo symlinks fuera del workspace. Parcheado en 0.8.64.

Si corrés agentes sobre repos que no son tuyos: la config del repo es input del atacante, igual que el pnpm-workspace.yaml de la semana pasada.

04 Sep 2026
github.com/advisories →
Seguridad

TypeSpec: un POST sin auth apaga el mock server de Spector

@typespec/spector registra POST /.admin/stop sin autenticación, sin token, sin chequeo de Origin y sin restricción de IP de origen. Y como el server bindea a 0.0.0.0 por defecto, el endpoint queda expuesto a cualquier host que alcance el puerto, no solo a localhost. DoS completo con un request. CVSS 7.5, parcheado en 0.1.0-alpha.27.

Es el mismo patrón del RCE en Claude Code Templates de la semana pasada: tooling de desarrollo que asume «esto corre solo en mi máquina» y bindea a todas las interfaces. Revisá a qué bindean tus mock servers y dev tools, sobre todo en CI compartido.

04 Sep 2026
github.com/advisories →
☁️

Cloud & DevOps

Destacado

ECS: declarar el deploy exitoso al 90% en vez de esperar el 100%

Early Success Criteria te deja definir qué porcentaje de tasks sanas alcanza para dar el deploy por exitoso. Con 100 tasks deseadas y umbral 90%, ECS declara éxito con 90 sanas y sigue escalando el resto por separado. Sumale cleanup BLOCKING o DEFERRED según si querés esperar la limpieza del source o que corra asincrónica.

El beneficio real no es el deploy en sí, es destrabar el pipeline de CI/CD y todo lo que depende de él antes. Y es especialmente útil en workloads de inferencia con GPU, donde la capacidad está restringida y esperar el 100% puede ser eterno.

04 Sep 2026
aws.amazon.com →
GA

AWS MCP Server suma diagnóstico serverless con baseline de 7 días

El AWS MCP Server ahora deja que un agente inspeccione funciones Lambda y sus recursos conectados —API Gateway, EventBridge, S3, DynamoDB, SNS, SQS, Step Functions— y, lo interesante, compare las señales de error contra un baseline de 7 días para identificar qué cambió, además de ver el timeline de cambios recientes y la latencia entre recursos.

Ese framing es el correcto para debugging distribuido: la pregunta útil casi nunca es «¿qué está fallando?» sino «¿qué es distinto respecto a cuando andaba?». Sin costo adicional, corre en N. Virginia y Frankfurt accediendo a todas las regiones comerciales.

04 Sep 2026
aws.amazon.com →
Release

workerd v1.20260907.1 mantiene la cadencia diaria

Tres releases del runtime de Workers durante el fin de semana (05, 06 y 07). Cloudflare no baja el ritmo ni en sábado. Si trackeás compatibility flags o operás Durable Objects, conviene revisar el changelog acumulado en vez de release por release.

07 Sep 2026
github.com/cloudflare →
🏗️

Architecture & Best Practices

Destacado

Google publica Beyond Zero: BeyondCorp ya no alcanza

El paper es explícito sobre por qué el modelo de 2014 se quedó corto: sus supuestos —que quien accede es humano, que las acciones ocurren a velocidad humana, y que la aplicación es el límite correcto de confianza— ya no se sostienen. Beyond Zero mueve la decisión de autorización del nivel de aplicación al nivel de acción y recurso individual, sobre todas las interfaces.

Los cinco principios combinan políticas fijas con controles dinámicos para escenarios de riesgo alto, contexto enriquecido automáticamente, investigación automatizada disparada por señales, y verificación o contención adicional cuando hace falta.

La objeción de los expertos está bien puesta y vale tenerla presente: meter decisiones probabilísticas de AI en límites de seguridad que históricamente fueron determinísticos es un cambio de naturaleza, no de grado. Vale leer el modelo, pero el escepticismo sobre la parte dinámica es sano.

05 Sep 2026
infoq.com →
Destacado

CERN migra 2.200 máquinas de control a Debian por el baseline de microarquitectura

Caso de estudio hermoso sobre restricciones de larga vida. RHEL 9 exigió x86-64-v2 (SSE4.2, POPCNT) y RHEL 10 apunta a x86-64-v3. CERN tiene nodos de control con procesadores de la era Core 2 y placas industriales custom diseñadas para ciclos de vida de 10 a 15 años que no llegan a ese baseline sin reemplazar el hardware. Debian mantiene x86-64 v1, así que migran a Debian 13 para Q4 2026.

Lo que vale para nosotros: el horizonte temporal de tu hardware —o de tu contrato, o de tu compliance— es una restricción arquitectónica real, y a veces manda por encima de cualquier preferencia técnica. Ojo con el alcance: son 2.200 máquinas de control de aceleradores, nada más. Las granjas de cómputo y el grid Tier-0 siguen en AlmaLinux y RHEL.

07 Sep 2026
infoq.com →
🔗

Fullstack

Release

vlt 1.0: los fundadores de npm separan install de build

La idea central la resume Darcy Clarke: está construido para que nada corra en tu máquina solo porque escribiste install. En vez del paso único de npm, vlt separa en dos: vlt install baja paquetes sin ejecutar scripts, y vlt build corre solo los scripts aprobados y bloquea malware conocido por defecto.

Lo segundo interesante es vlt query: trata el árbol de dependencias como un DOM, con más de 60 selectores tipo CSS —la mitad orientados a seguridad vía Socket— para auditar dependencias a escala. Y sus registries hosteados rechazan paquetes maliciosos antes de servirlos: llevan más de 275.000 versiones flaggeadas, un cuarto de las cuales sigue instalable desde npm.

En velocidad cruda pnpm y Bun siguen adelante; vlt reclama hasta 38% más rápido que npm. La diferencia real no es el benchmark, es dónde ataca el problema de supply chain: npm v12 desactiva scripts por defecto, pnpm pone en cuarentena los releases nuevos, vlt lo hace en el registry.

07 Sep 2026
infoq.com →
Release

better-auth 1.7.3: validación de schema en producción y revert del cambio de 1.7

Dos cosas grandes. Primera: la validación de schema durante la inicialización queda activada por defecto, también en producción, y las requests de autenticación se rechazan si detecta un mismatch. Es la decisión correcta —un schema desalineado en auth es exactamente donde no querés fallar en silencio— pero verificá tus migraciones antes de bumpear.

Segunda: restauraron el core schema de accounts de 1.6 para evitar un backfill disruptivo, identificando accounts por (providerId, accountId) en lugar de issuer. Si ya aplicaste el schema de issuer de 1.7, hay guía de upgrade con la limpieza necesaria (sin backfill). Reconocen el costo para quien ya migró y se comprometen a mantener estable el core schema durante toda la v1 — decisión sensata, aunque incómoda para los early adopters.

También suman Cloudflare como social provider built-in con PKCE, e isPasswordCompromised para chequear contra Have I Been Pwned en flows server-side propios.

06 Sep 2026
github.com/better-auth →
Patch

pnpm 11.26.0: la línea anterior sigue viva

Mientras la línea 12 en Rust avanza a 12.3.4, pnpm sigue publicando en la serie 11. Buena señal para quien todavía no puede absorber los breaking changes del rewrite nativo —claves desconocidas que ahora tiran error, git deps por HTTPS canónico— y necesita fixes sin migrar todavía.

06 Sep 2026
github.com/pnpm →
🔥

Top Stories

Breaking

SurrealDB: change the namespace in the URL and you are in the next tenant

CVE-2026-63735. The route /api/{namespace}/{database}/{endpoint} took namespace and database from the URL and applied them to the caller's session before the endpoint was looked up or run, without checking that the caller's authenticated scope covered them. A user authenticated in one namespace could invoke a custom API (DEFINE API) belonging to another.

Here is what makes it severe: a custom API handler runs with permissions disabled (definer's rights), so the endpoint's own PERMISSIONS clause was the only gate. If that clause was open, nothing remained. Fixed in 3.2.0.

The pattern to take away: reading the tenant from a route parameter and applying it to the session before authorizing is the classic cross-tenant recipe. Scope must come from the token, never from the URL.

04 Sep 2026
github.com/advisories →
Security

Hono 4.13.7: hono/jsx emits unescaped strings in Suspense and ErrorBoundary

GHSA-hxh3-vqpv-xpqv, CVSS 4.7. hono/jsx did not escape a plain string placed directly as a child or fallback of Suspense or ErrorBoundary, as the only child of a Context.Provider, or as the root value of renderToString() / renderToReadableStream(). Those paths stringify their input and treat the result as already-escaped HTML, so the string passes through unchanged.

The streaming case is the worst: a string fallback reaches the browser in the initial chunk. The all-synchronous ErrorBoundary case was already fixed in 4.11.7 — this is the sibling that slipped through. Upgrade to 4.13.7 if you render user content there.

04 Sep 2026
github.com/honojs →
Security

SimpleWebAuthn: the attestation chain never reaches the trust anchor

validateCertificatePath() did not verify that an attestation's certificate chain actually terminates at a configured trust anchor. Walking the chain, it stopped at the first self-signed certificate it found — which can be user-supplied — and exited early, before reaching the Apple/Google/Yubico anchor concatenated at the end.

Result: someone registers a credential and the server accepts it as if backed by a genuine authenticator. Severity is low (CVSS 2) because it does not break authentication itself, but if your business logic trusts the attestation — to require certified hardware, or to grant more privilege to device-bound passkeys — that trust was never there. Fixed in @simplewebauthn/server 13.3.2.

04 Sep 2026
github.com/advisories →
Release

Bun 1.4.2: an AsyncLocalStorage leak that held your per-request context is gone

The fix that matters on the backend is AsyncLocalStorage: timers, immediates, or pending promises created inside store.exit() or a nested store.run() kept the outer store's values alive. Translated: if you stored per-request context — trace id, user, tenant — and started a long timer, that context stayed retained for the timer's whole lifetime. On a server with real traffic that is a leak that grows on its own.

They also fix a bun build regression where a nested var was renamed to match a let in the same block (it broke Elysia), the worker_threads 'online' event order to match Node — it hung @discordjs/ws — and bump JavaScriptCore with ~350 WebKit commits.

05 Sep 2026
bun.sh →
🗄️

Databases & Data

Security

SurrealDB: a PERMISSIONS clause can write to tables you cannot touch

CVE-2026-63733. A PERMISSIONS ... WHERE clause is evaluated with permission enforcement disabled — reasonably, or it would recurse into itself. The problem: that clause can also contain data-modifying statements, and those ran with enforcement still off:

DEFINE TABLE post PERMISSIONS FOR update
    WHERE (CREATE log SET at = time::now()) OR true;

Anyone allowed to update a post now creates records in log, with no permission on log. And the clause is evaluated once per matched record, so a single statement amplifies. Fixed in surrealdb-core 3.2.0.

This is a textbook case for why an authorization predicate must be pure. If your permission check can have side effects, it stopped being a check.

04 Sep 2026
github.com/advisories →
Security

SurrealDB: deny-net is bypassed through DNS resolution

CVE-2025-71390, CVSS 5.8. If you start with surreal start --allow-net --deny-net 10.0.0.0/8, an authenticated user can call http::<fn>(<url>) with a hostname that resolves into the denied block instead of writing it as an IP. SSRF into your internal network with the ACL in place.

Worth noting SurrealDB's own docs advise against the allow-all-with-denylist configuration. The standing reminder: a denylist filters what you wrote down, not what the attacker can reach. Allowlist wherever you can. Fixed in 2.1.8, 2.2.6, 2.3.6, and 3.0.0-alpha.7.

04 Sep 2026
github.com/advisories →
🔒

Security

Security

CodeWhale: nine advisories and a critical SSRF via TOCTOU in DNS pinning

Nine advisories on the same day against the CodeWhale coding agent (formerly deepseek-tui). The critical one is CVE-2026-75856, CVSS 9.2: DNS pinning fails unsafely, and a custom DNS server that fails the first requests and answers the later ones bypasses the whole logic — classic TOCTOU.

The rest draws a very clear map of an agent's attack surface: allow_shell and instructions overridable from the cloned repository (8.5 and 8.7), rlm_eval auto-approving arbitrary Python execution, argument injection in git_blame and git_show for approval-free file read and write, js_execution leaking the parent environment into model context, and image_analyze following symlinks outside the workspace. Fixed in 0.8.64.

If you run agents over repositories that are not yours: the repo's config is attacker input, exactly like last week's pnpm-workspace.yaml.

04 Sep 2026
github.com/advisories →
Security

TypeSpec: one unauthenticated POST shuts down the Spector mock server

@typespec/spector registers POST /.admin/stop with no authentication, no token, no Origin check, and no source-IP restriction. And since the server binds to 0.0.0.0 by default, the endpoint is exposed to any host that can reach the port, not just localhost. Complete DoS in one request. CVSS 7.5, fixed in 0.1.0-alpha.27.

Same pattern as last week's Claude Code Templates RCE: developer tooling that assumes «this only runs on my machine» and binds to every interface. Check what your mock servers and dev tools bind to, especially on shared CI.

04 Sep 2026
github.com/advisories →
☁️

Cloud & DevOps

Notable

ECS: call the deploy successful at 90% instead of waiting for 100%

Early Success Criteria lets you define what percentage of healthy tasks is enough to call a deployment successful. With 100 desired tasks and a 90% threshold, ECS declares success at 90 healthy and keeps scaling the rest separately. Add BLOCKING or DEFERRED cleanup depending on whether you want to wait for source cleanup or let it run asynchronously.

The real benefit is not the deployment itself, it is unblocking the CI/CD pipeline and everything downstream sooner. Especially useful on GPU inference workloads, where capacity is constrained and waiting for 100% can take forever.

04 Sep 2026
aws.amazon.com →
GA

AWS MCP Server adds serverless diagnostics with a 7-day baseline

The AWS MCP Server now lets an agent inspect Lambda functions and their connected resources — API Gateway, EventBridge, S3, DynamoDB, SNS, SQS, Step Functions — and, the interesting part, compare error signals against a 7-day baseline to identify what changed, plus recent change timelines and cross-resource latency.

That framing is the right one for distributed debugging: the useful question is almost never «what is failing?» but «what is different from when it worked?». No additional cost, running in N. Virginia and Frankfurt against all commercial regions.

04 Sep 2026
aws.amazon.com →
Release

workerd v1.20260907.1 keeps the daily cadence

Three Workers runtime releases over the weekend (05, 06, and 07). Cloudflare does not slow down on Saturdays. If you track compatibility flags or run Durable Objects, read the accumulated changelog rather than release by release.

07 Sep 2026
github.com/cloudflare →
🏗️

Architecture & Best Practices

Notable

Google publishes Beyond Zero: BeyondCorp is no longer enough

The paper is explicit about why the 2014 model fell short: its assumptions — that accessors are human, that actions happen at human speed, and that applications are the right trust boundary — no longer hold. Beyond Zero moves the authorization decision from application level to individual actions and resources, across every interface.

Its five principles combine fixed policy with dynamic controls for higher-risk scenarios, automatically enriched context, automated investigation triggered by risk signals, and extra verification or containment when needed.

The experts' objection is well placed and worth holding onto: putting probabilistic AI decisions inside security boundaries that were historically deterministic is a change in kind, not degree. Read the model, but the skepticism about the dynamic half is healthy.

05 Sep 2026
infoq.com →
Notable

CERN moves 2,200 control machines to Debian over the microarchitecture baseline

A lovely case study in long-lifetime constraints. RHEL 9 mandated x86-64-v2 (SSE4.2, POPCNT) and RHEL 10 targets x86-64-v3. CERN runs control nodes on Core 2-era processors and custom industrial boards designed for 10-to-15-year lifecycles that cannot meet that baseline without replacing hardware. Debian keeps x86-64 v1, so they move to Debian 13 by Q4 2026.

What it means for the rest of us: your hardware's time horizon — or your contract's, or your compliance regime's — is a real architectural constraint, and it sometimes outranks any technical preference. Mind the scope: this is 2,200 accelerator-control machines only. The compute farms and Tier-0 grid stay on AlmaLinux and RHEL.

07 Sep 2026
infoq.com →
🔗

Fullstack

Release

vlt 1.0: npm's founders split install from build

Darcy Clarke sums up the core idea: it is built so nothing runs on your machine just because you typed install. Instead of npm's single step, vlt splits in two: vlt install downloads packages without executing scripts, and vlt build runs only approved scripts and blocks known malware by default.

The second interesting piece is vlt query: it treats the dependency tree like a DOM, with 60+ CSS-like selectors — about half security-oriented via Socket — to audit dependencies at scale. And its hosted registries reject malicious packages before serving them: over 275,000 flagged versions so far, a quarter of which remain installable from npm.

On raw speed pnpm and Bun still lead; vlt claims up to 38% faster than npm. The real difference is not the benchmark, it is where it attacks the supply-chain problem: npm v12 disables scripts by default, pnpm quarantines new releases, vlt does it at the registry.

07 Sep 2026
infoq.com →
Release

better-auth 1.7.3: schema validation in production and a revert of the 1.7 change

Two big things. First: schema validation during initialization is now on by default, including in production, and authentication requests are rejected on a detected mismatch. That is the right call — a misaligned auth schema is exactly where you do not want silent failure — but verify your migrations before bumping.

Second: they restored the 1.6 accounts core schema to avoid a disruptive backfill, identifying accounts by (providerId, accountId) instead of issuer. If you already applied the 1.7 issuer schema there is an upgrade guide with the required cleanup (no backfill needed). They acknowledge the cost to those who already migrated and commit to keeping the core schema stable throughout v1 — a sensible call, if an uncomfortable one for early adopters.

They also add Cloudflare as a built-in social provider with PKCE, and isPasswordCompromised for checking against Have I Been Pwned in your own server-side flows.

06 Sep 2026
github.com/better-auth →
Patch

pnpm 11.26.0: the previous line is still alive

While the Rust-based 12 line moves to 12.3.4, pnpm keeps publishing on the 11 series. A good signal for anyone who cannot yet absorb the native rewrite's breaking changes — unknown keys now throwing, git deps through canonical HTTPS — and needs fixes without migrating.

06 Sep 2026
github.com/pnpm →
🔥

Top Stories

Breaking

SurrealDB : changez le namespace dans l'URL et vous êtes chez le voisin

CVE-2026-63735. The route /api/{namespace}/{database}/{endpoint} took namespace and database from the URL and applied them to the caller's session before the endpoint was looked up or run, without checking that the caller's authenticated scope covered them. A user authenticated in one namespace could invoke a custom API (DEFINE API) belonging to another.

Here is what makes it severe: a custom API handler runs with permissions disabled (definer's rights), so the endpoint's own PERMISSIONS clause was the only gate. If that clause was open, nothing remained. Fixed in 3.2.0.

The pattern to take away: reading the tenant from a route parameter and applying it to the session before authorizing is the classic cross-tenant recipe. Scope must come from the token, never from the URL.

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

Hono 4.13.7 : hono/jsx émet des chaînes non échappées dans Suspense et ErrorBoundary

GHSA-hxh3-vqpv-xpqv, CVSS 4.7. hono/jsx did not escape a plain string placed directly as a child or fallback of Suspense or ErrorBoundary, as the only child of a Context.Provider, or as the root value of renderToString() / renderToReadableStream(). Those paths stringify their input and treat the result as already-escaped HTML, so the string passes through unchanged.

The streaming case is the worst: a string fallback reaches the browser in the initial chunk. The all-synchronous ErrorBoundary case was already fixed in 4.11.7 — this is the sibling that slipped through. Upgrade to 4.13.7 if you render user content there.

04 Sep 2026
github.com/honojs →
Sécurité

SimpleWebAuthn : la chaîne d'attestation n'atteint pas le trust anchor

validateCertificatePath() did not verify that an attestation's certificate chain actually terminates at a configured trust anchor. Walking the chain, it stopped at the first self-signed certificate it found — which can be user-supplied — and exited early, before reaching the Apple/Google/Yubico anchor concatenated at the end.

Result: someone registers a credential and the server accepts it as if backed by a genuine authenticator. Severity is low (CVSS 2) because it does not break authentication itself, but if your business logic trusts the attestation — to require certified hardware, or to grant more privilege to device-bound passkeys — that trust was never there. Fixed in @simplewebauthn/server 13.3.2.

04 Sep 2026
github.com/advisories →
Release

Bun 1.4.2 : disparition d'une fuite AsyncLocalStorage retenant le contexte par requête

The fix that matters on the backend is AsyncLocalStorage: timers, immediates, or pending promises created inside store.exit() or a nested store.run() kept the outer store's values alive. Translated: if you stored per-request context — trace id, user, tenant — and started a long timer, that context stayed retained for the timer's whole lifetime. On a server with real traffic that is a leak that grows on its own.

They also fix a bun build regression where a nested var was renamed to match a let in the same block (it broke Elysia), the worker_threads 'online' event order to match Node — it hung @discordjs/ws — and bump JavaScriptCore with ~350 WebKit commits.

05 Sep 2026
bun.sh →
🗄️

Databases & Data

Sécurité

SurrealDB : une clause PERMISSIONS peut écrire dans des tables interdites

CVE-2026-63733. A PERMISSIONS ... WHERE clause is evaluated with permission enforcement disabled — reasonably, or it would recurse into itself. The problem: that clause can also contain data-modifying statements, and those ran with enforcement still off:

DEFINE TABLE post PERMISSIONS FOR update
    WHERE (CREATE log SET at = time::now()) OR true;

Anyone allowed to update a post now creates records in log, with no permission on log. And the clause is evaluated once per matched record, so a single statement amplifies. Fixed in surrealdb-core 3.2.0.

This is a textbook case for why an authorization predicate must be pure. If your permission check can have side effects, it stopped being a check.

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

SurrealDB : le deny-net se contourne via la résolution DNS

CVE-2025-71390, CVSS 5.8. If you start with surreal start --allow-net --deny-net 10.0.0.0/8, an authenticated user can call http::<fn>(<url>) with a hostname that resolves into the denied block instead of writing it as an IP. SSRF into your internal network with the ACL in place.

Worth noting SurrealDB's own docs advise against the allow-all-with-denylist configuration. The standing reminder: a denylist filters what you wrote down, not what the attacker can reach. Allowlist wherever you can. Fixed in 2.1.8, 2.2.6, 2.3.6, and 3.0.0-alpha.7.

04 Sep 2026
github.com/advisories →
🔒

Security

Sécurité

CodeWhale : neuf advisories et un SSRF critique par TOCTOU sur le DNS pinning

Nine advisories on the same day against the CodeWhale coding agent (formerly deepseek-tui). The critical one is CVE-2026-75856, CVSS 9.2: DNS pinning fails unsafely, and a custom DNS server that fails the first requests and answers the later ones bypasses the whole logic — classic TOCTOU.

The rest draws a very clear map of an agent's attack surface: allow_shell and instructions overridable from the cloned repository (8.5 and 8.7), rlm_eval auto-approving arbitrary Python execution, argument injection in git_blame and git_show for approval-free file read and write, js_execution leaking the parent environment into model context, and image_analyze following symlinks outside the workspace. Fixed in 0.8.64.

If you run agents over repositories that are not yours: the repo's config is attacker input, exactly like last week's pnpm-workspace.yaml.

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

TypeSpec : un POST non authentifié éteint le mock server Spector

@typespec/spector registers POST /.admin/stop with no authentication, no token, no Origin check, and no source-IP restriction. And since the server binds to 0.0.0.0 by default, the endpoint is exposed to any host that can reach the port, not just localhost. Complete DoS in one request. CVSS 7.5, fixed in 0.1.0-alpha.27.

Same pattern as last week's Claude Code Templates RCE: developer tooling that assumes «this only runs on my machine» and binds to every interface. Check what your mock servers and dev tools bind to, especially on shared CI.

04 Sep 2026
github.com/advisories →
☁️

Cloud & DevOps

Notable

ECS : déclarer le déploiement réussi à 90% au lieu d'attendre 100%

Early Success Criteria lets you define what percentage of healthy tasks is enough to call a deployment successful. With 100 desired tasks and a 90% threshold, ECS declares success at 90 healthy and keeps scaling the rest separately. Add BLOCKING or DEFERRED cleanup depending on whether you want to wait for source cleanup or let it run asynchronously.

The real benefit is not the deployment itself, it is unblocking the CI/CD pipeline and everything downstream sooner. Especially useful on GPU inference workloads, where capacity is constrained and waiting for 100% can take forever.

04 Sep 2026
aws.amazon.com →
GA

AWS MCP Server ajoute un diagnostic serverless avec baseline de 7 jours

The AWS MCP Server now lets an agent inspect Lambda functions and their connected resources — API Gateway, EventBridge, S3, DynamoDB, SNS, SQS, Step Functions — and, the interesting part, compare error signals against a 7-day baseline to identify what changed, plus recent change timelines and cross-resource latency.

That framing is the right one for distributed debugging: the useful question is almost never «what is failing?» but «what is different from when it worked?». No additional cost, running in N. Virginia and Frankfurt against all commercial regions.

04 Sep 2026
aws.amazon.com →
Release

workerd v1.20260907.1 maintient la cadence quotidienne

Three Workers runtime releases over the weekend (05, 06, and 07). Cloudflare does not slow down on Saturdays. If you track compatibility flags or run Durable Objects, read the accumulated changelog rather than release by release.

07 Sep 2026
github.com/cloudflare →
🏗️

Architecture & Best Practices

Notable

Google publie Beyond Zero : BeyondCorp ne suffit plus

The paper is explicit about why the 2014 model fell short: its assumptions — that accessors are human, that actions happen at human speed, and that applications are the right trust boundary — no longer hold. Beyond Zero moves the authorization decision from application level to individual actions and resources, across every interface.

Its five principles combine fixed policy with dynamic controls for higher-risk scenarios, automatically enriched context, automated investigation triggered by risk signals, and extra verification or containment when needed.

The experts' objection is well placed and worth holding onto: putting probabilistic AI decisions inside security boundaries that were historically deterministic is a change in kind, not degree. Read the model, but the skepticism about the dynamic half is healthy.

05 Sep 2026
infoq.com →
Notable

Le CERN migre 2 200 machines de contrôle vers Debian pour la baseline microarchitecture

A lovely case study in long-lifetime constraints. RHEL 9 mandated x86-64-v2 (SSE4.2, POPCNT) and RHEL 10 targets x86-64-v3. CERN runs control nodes on Core 2-era processors and custom industrial boards designed for 10-to-15-year lifecycles that cannot meet that baseline without replacing hardware. Debian keeps x86-64 v1, so they move to Debian 13 by Q4 2026.

What it means for the rest of us: your hardware's time horizon — or your contract's, or your compliance regime's — is a real architectural constraint, and it sometimes outranks any technical preference. Mind the scope: this is 2,200 accelerator-control machines only. The compute farms and Tier-0 grid stay on AlmaLinux and RHEL.

07 Sep 2026
infoq.com →
🔗

Fullstack

Release

vlt 1.0 : les fondateurs de npm séparent install et build

Darcy Clarke sums up the core idea: it is built so nothing runs on your machine just because you typed install. Instead of npm's single step, vlt splits in two: vlt install downloads packages without executing scripts, and vlt build runs only approved scripts and blocks known malware by default.

The second interesting piece is vlt query: it treats the dependency tree like a DOM, with 60+ CSS-like selectors — about half security-oriented via Socket — to audit dependencies at scale. And its hosted registries reject malicious packages before serving them: over 275,000 flagged versions so far, a quarter of which remain installable from npm.

On raw speed pnpm and Bun still lead; vlt claims up to 38% faster than npm. The real difference is not the benchmark, it is where it attacks the supply-chain problem: npm v12 disables scripts by default, pnpm quarantines new releases, vlt does it at the registry.

07 Sep 2026
infoq.com →
Release

better-auth 1.7.3 : validation de schéma en production et revert du changement 1.7

Two big things. First: schema validation during initialization is now on by default, including in production, and authentication requests are rejected on a detected mismatch. That is the right call — a misaligned auth schema is exactly where you do not want silent failure — but verify your migrations before bumping.

Second: they restored the 1.6 accounts core schema to avoid a disruptive backfill, identifying accounts by (providerId, accountId) instead of issuer. If you already applied the 1.7 issuer schema there is an upgrade guide with the required cleanup (no backfill needed). They acknowledge the cost to those who already migrated and commit to keeping the core schema stable throughout v1 — a sensible call, if an uncomfortable one for early adopters.

They also add Cloudflare as a built-in social provider with PKCE, and isPasswordCompromised for checking against Have I Been Pwned in your own server-side flows.

06 Sep 2026
github.com/better-auth →
Patch

pnpm 11.26.0 : la ligne précédente reste vivante

While the Rust-based 12 line moves to 12.3.4, pnpm keeps publishing on the 11 series. A good signal for anyone who cannot yet absorb the native rewrite's breaking changes — unknown keys now throwing, git deps through canonical HTTPS — and needs fixes without migrating.

06 Sep 2026
github.com/pnpm →