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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Tendencias Destacadas
Los tres advisories de SurrealDB comparten una raíz que trasciende la base: <strong>el enforcement de permisos se apaga en un punto por una razón legítima, y algo más se cuela por esa ventana</strong>. El handler de custom API corre con permisos apagados por definer's rights; la cláusula PERMISSIONS se evalúa con enforcement apagado para no recursar. En ambos casos el diseño es correcto y la implementación deja pasar de más. Cuando tengas que apagar una verificación, escribí explícitamente qué queda permitido adentro de esa ventana.
hono/jsx y SimpleWebAuthn fallan por lo mismo: <strong>una función que devuelve un valor «ya validado» sin haber validado del todo</strong>. En Hono, los paths de Suspense stringifican el input y lo tratan como HTML ya escapado. En SimpleWebAuthn, la validación de cadena corta en el primer self-signed y devuelve OK sin haber tocado el trust anchor. Ambos son <strong>éxitos silenciosos</strong>, que son mucho peores que un error: nadie audita un camino que nunca se queja.
vlt 1.0, los nueve advisories de CodeWhale y el <code>POST /.admin/stop</code> de TypeSpec cuentan la misma historia desde tres ángulos: <strong>el tooling de desarrollo es infraestructura de producción y hace rato dejamos de tratarlo así</strong>. Un install que ejecuta scripts, un agente que lee su config del repo clonado, un mock server bindeado a 0.0.0.0. La cifra de vlt es la que más incomoda: 275.000 versiones flaggeadas como maliciosas, un cuarto todavía instalables desde npm.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Notable Trends
SurrealDB's three advisories share a root that goes beyond the database: <strong>permission enforcement is switched off at one point for a legitimate reason, and something else slips through that window</strong>. The custom API handler runs with permissions off by definer's rights; the PERMISSIONS clause is evaluated with enforcement off so it does not recurse. In both cases the design is right and the implementation lets too much through. When you must switch off a check, write down explicitly what stays permitted inside that window.
hono/jsx and SimpleWebAuthn fail for the same reason: <strong>a function returning an «already validated» value without having fully validated</strong>. In Hono, the Suspense paths stringify input and treat it as already-escaped HTML. In SimpleWebAuthn, chain validation stops at the first self-signed cert and returns OK without ever touching the trust anchor. Both are <strong>silent successes</strong>, which are far worse than errors: nobody audits a path that never complains.
vlt 1.0, CodeWhale's nine advisories, and TypeSpec's <code>POST /.admin/stop</code> tell the same story from three angles: <strong>developer tooling is production infrastructure and we stopped treating it that way long ago</strong>. An install that executes scripts, an agent reading its config from the cloned repo, a mock server bound to 0.0.0.0. vlt's number is the most uncomfortable: 275,000 versions flagged as malicious, a quarter still installable from npm.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Tendances Notables
Les trois advisories SurrealDB partagent une racine qui dépasse la base : <strong>l'enforcement des permissions est désactivé à un endroit pour une raison légitime, et autre chose se glisse par cette fenêtre</strong>. Le handler d'API custom tourne permissions désactivées par definer's rights ; la clause PERMISSIONS est évaluée sans enforcement pour ne pas récurser. Dans les deux cas le design est juste et l'implémentation laisse passer trop. Quand vous devez désactiver une vérification, écrivez explicitement ce qui reste permis dans cette fenêtre.
hono/jsx et SimpleWebAuthn échouent pour la même raison : <strong>une fonction renvoyant une valeur «déjà validée» sans avoir validé entièrement</strong>. Dans Hono, les chemins Suspense stringifient l'entrée et la traitent comme du HTML déjà échappé. Dans SimpleWebAuthn, la validation de chaîne s'arrête au premier certificat auto-signé et renvoie OK sans jamais atteindre le trust anchor. Deux <strong>succès silencieux</strong>, bien pires que des erreurs : personne n'audite un chemin qui ne se plaint jamais.
vlt 1.0, les neuf advisories de CodeWhale et le <code>POST /.admin/stop</code> de TypeSpec racontent la même histoire sous trois angles : <strong>l'outillage de développement est une infrastructure de production et nous avons cessé de le traiter ainsi</strong>. Un install qui exécute des scripts, un agent lisant sa config depuis le dépôt cloné, un mock server bindé sur 0.0.0.0. Le chiffre de vlt est le plus gênant : 275 000 versions signalées comme malveillantes, un quart encore installables depuis npm.