Backend & Fullstack Daily — 9 oct. 2026 : fast-jwt retombe, Handlebars critique et Hono v5 RC
MariaDB Connector/Node.js: dos SQL injection y leak de memoria del proceso
El paquete mariadb trae SQLi por keys de objetos en la expansión de SET con permitSetMultiParamEntries (CVE-2026-107384, CVSS 8.1) y otra en el protocolo de texto cuando la sesión usa NO_BACKSLASH_ESCAPES (CVE-2026-107385). Encima, parámetros GeoJSON malformados exponen memoria no inicializada. Parches en 3.2.5, 3.3.4, 3.4.7 y 3.5.4: placeholders no te salvan si el bug está en el driver.
Hazelcast: un client con pocos privilegios lee memoria arbitraria del miembro (CVSS 9.3)
CVE-2026-107726 (CVSS v4 9.3) más un bypass de autorización en la Predicates API de IMap (8.7). Afecta 5.6.0, 5.5.x antes de 5.5.10 y anteriores a 5.4.5; el fix está en 5.7.0. Si usás Hazelcast como cache distribuida con clients multi-tenant, esto es prioridad.
JHipster: SQLi en el parámetro sort de apps reactivas WebFlux + R2DBC generadas
CVE-2026-107375 (CVSS 8.8): el código que genera generator-jhipster 7.x–9.3 arma el ORDER BY con el parámetro sort sin whitelist. Actualizar el generador a 9.4.0 no arregla las apps que ya generaste: tenés que regenerar o parchear a mano. Lección de siempre: los nombres de columna nunca van parametrizados, van whitelisteados.
Coraza WAF: 11 advisories, varios bypass de OWASP CRS
El WAF en Go recibió un lote grande: colisión de keys JSON (propiedades con puntos que pisan otras en ARGS_POST), Content-Type urlencoded con parámetros que saltea la inspección del body, off-by-one en jsDecode, y varios DoS por recursión. Fix en 3.8.1. Si tu WAF es la única defensa frente a una API vieja, este es un buen recordatorio de que no alcanza.
AdonisJS http-server: route params sin encodear generan open redirects
Si el primer segmento de una ruta es dinámico (/:page) y le pasás input del usuario al generar la URL, un valor que empieza con / produce una URL scheme-relative tipo //evil.com (CVE-2026-107718, CVSS 6.1). Fix en 9.3.0 y 8.2.3.
Drizzle ORM 0.45.4: postgres-js vuelve a usar prepared statements
Patch chiquito pero con impacto en performance: con el driver postgres-js, un .prepare(name) explícito no estaba generando una prepared query real. Si contabas con eso para hot paths, actualizá.
pgx_bm25 1.0: full-text search con ranking BM25 como índice nativo de PostgreSQL
La extensión de PGX guarda todo el índice en las páginas de la propia relación, así que hereda WAL, crash recovery y replicación física del core. Usa los diccionarios Snowball de Postgres por índice, y las queries complejas se arman con builders que generan un árbol jsonb, así el input del usuario nunca entra como sintaxis. Una alternativa seria a sumar Elasticsearch solo para búsqueda relevante.
Cloudflare Clef: modelos open-weight que deciden en vez de generar texto, en el edge
Clef (27B) y Clef-Flash (9B) reciben un estado y un schema de preguntas tipadas y devuelven una probabilidad por opción permitida en un solo forward pass, sin parsear texto libre. Clef-Flash promedia 38.8 ms de mediana. Para backends con agentes, esto es routing/escalado tipado en el hot path desde Workers AI, sin el clásico JSON.parse rezando.
Akka probó delivery con IA guiada por specs en 65 proyectos open source
Portando 65 proyectos, Akka vio que specs estructuradas con claims, evidencia y comportamiento tipado mejoran la primera implementación, mientras que los context files fallan en decisiones cross-component. Validaron con los tests originales más auditores de serialización, seguridad, PII, idempotencia y límites arquitectónicos. Dato jugoso: el modelo chico seguía la spec y el grande improvisaba. Spec + tests > prompt largo, otra vez.
Lección JWT: una firma válida no valida el payload
Uno de los advisories de fast-jwt (CVE-2026-107723, CVSS 8.1) muestra el patrón: si el payload firmado es un array JSON, createVerifier saltea exp, aud, iss y compañía y reporta éxito. Buen recordatorio arquitectónico: fijá algorithms explícitos, separá las claves por algoritmo y validá la forma del payload con un schema en tu capa de auth, no confíes solo en la librería.
Tendencias Destacadas
Patches incompletos: fast-jwt y Handlebars publicaron hoy bypasses de CVEs que ya se habían arreglado. Cuando sale un fix de seguridad, mirá el diff, no solo el número de versión.
Las herramientas se vuelven más estrictas por defecto: Hono v5 tipa <code>json()</code> como <code>unknown</code> y Prisma 8 exige consentimiento explícito para perder datos.
MariaDB Connector/Node.js: two SQL injections and a process memory leak
The mariadb package has SQLi through object keys in SET expansion with permitSetMultiParamEntries (CVE-2026-107384, CVSS 8.1) and another in the text protocol when the session uses NO_BACKSLASH_ESCAPES (CVE-2026-107385). Malformed GeoJSON parameters also expose uninitialized memory. Patched in 3.2.5, 3.3.4, 3.4.7 and 3.5.4: placeholders do not save you when the bug lives in the driver.
Hazelcast: low-privileged client can read arbitrary member memory (CVSS 9.3)
CVE-2026-107726 (CVSS v4 9.3) plus an authorization bypass in the IMap Predicates API (8.7). Affects 5.6.0, 5.5.x before 5.5.10 and anything before 5.4.5; fixed in 5.7.0. If Hazelcast is your distributed cache with multi-tenant clients, prioritize this.
JHipster: SQLi in the sort parameter of generated WebFlux + R2DBC apps
CVE-2026-107375 (CVSS 8.8): code produced by generator-jhipster 7.x–9.3 builds ORDER BY from the sort parameter without a whitelist. Bumping the generator to 9.4.0 does not fix apps you already generated: regenerate or patch by hand. The usual lesson: column names cannot be parameterized, they must be whitelisted.
Coraza WAF: 11 advisories, several OWASP CRS bypasses
The Go WAF got a big batch: JSON key collision (dotted property names overwriting others in ARGS_POST), urlencoded Content-Type parameters skipping body inspection, an off-by-one in jsDecode, and several recursion DoS bugs. Fixed in 3.8.1. If a WAF is the only thing in front of a legacy API, this is your reminder that it is not enough.
AdonisJS http-server: unencoded route params produce open redirects
When a route's first segment is dynamic (/:page) and user input feeds URL generation, a value starting with / yields a scheme-relative URL like //evil.com (CVE-2026-107718, CVSS 6.1). Fixed in 9.3.0 and 8.2.3.
Drizzle ORM 0.45.4: postgres-js uses prepared statements again
Small patch with a performance angle: with the postgres-js driver, an explicit .prepare(name) was not producing a real prepared query. If your hot paths relied on it, upgrade.
pgx_bm25 1.0: BM25-ranked full-text search as a native PostgreSQL index
PGX's extension keeps the whole index inside the relation's own pages, so it inherits WAL, crash recovery and physical replication from core. It uses Postgres's Snowball dictionaries per index, and complex queries are composed with builders that emit a jsonb query tree, so user input never arrives as query syntax. A serious alternative to bolting on Elasticsearch just for relevance search.
Cloudflare Clef: open-weight models that decide instead of generating text, at the edge
Clef (27B) and Clef-Flash (9B) take a state plus a schema of typed questions and return a probability for each allowed option in a single forward pass, with no free-text parsing. Clef-Flash has a 38.8 ms median latency. For agent-heavy backends, that is typed routing/escalation in the hot path from Workers AI, without the hopeful JSON.parse.
Akka tested spec-driven AI delivery across 65 open-source projects
Porting 65 projects, Akka found that structured specs with claims, evidence and typed behavior improve first-pass implementations, while context files fall short on cross-component decisions. Validation used the original tests plus auditors for serialization, security, PII, idempotency and architectural boundaries. Telling detail: the smaller model followed the spec while the larger one improvised. Spec plus tests beats a long prompt, again.
JWT lesson: a valid signature does not validate the payload
One fast-jwt advisory (CVE-2026-107723, CVSS 8.1) shows the pattern: when the signed payload is a JSON array, createVerifier skips exp, aud, iss and friends and reports success. A good architectural reminder: pin explicit algorithms, keep keys separate per algorithm, and schema-validate the payload shape in your auth layer instead of trusting the library alone.
Notable Trends
Incomplete patches: fast-jwt and Handlebars both shipped bypasses of previously fixed CVEs today. When a security fix lands, read the diff, not just the version number.
Tooling is getting stricter by default: Hono v5 types <code>json()</code> as <code>unknown</code> and Prisma 8 demands explicit consent before losing data.
MariaDB Connector/Node.js : deux injections SQL et une fuite de mémoire du processus
Le paquet mariadb présente une SQLi via les clés d'objet dans l'expansion SET avec permitSetMultiParamEntries (CVE-2026-107384, CVSS 8.1) et une autre dans le protocole texte quand la session utilise NO_BACKSLASH_ESCAPES (CVE-2026-107385). Des paramètres GeoJSON malformés exposent aussi de la mémoire non initialisée. Corrigé en 3.2.5, 3.3.4, 3.4.7 et 3.5.4.
Hazelcast : un client peu privilégié peut lire la mémoire arbitraire d'un membre (CVSS 9.3)
CVE-2026-107726 (CVSS v4 9.3) plus un contournement d'autorisation dans l'API Predicates d'IMap (8.7). Touche 5.6.0, 5.5.x avant 5.5.10 et tout ce qui précède 5.4.5 ; corrigé en 5.7.0.
JHipster : SQLi dans le paramètre sort des apps WebFlux + R2DBC générées
CVE-2026-107375 (CVSS 8.8) : le code produit par generator-jhipster 7.x–9.3 construit l'ORDER BY depuis le paramètre sort sans liste blanche. Passer le générateur en 9.4.0 ne corrige pas les apps déjà générées : régénérez ou patchez à la main.
Coraza WAF : 11 advisories, plusieurs contournements d'OWASP CRS
Le WAF en Go reçoit un gros lot : collision de clés JSON (propriétés à points écrasant d'autres entrées dans ARGS_POST), paramètres de Content-Type urlencoded qui contournent l'inspection du body, off-by-one dans jsDecode et plusieurs DoS par récursion. Corrigé en 3.8.1.
AdonisJS http-server : des paramètres de route non encodés créent des open redirects
Si le premier segment d'une route est dynamique (/:page) et que l'entrée utilisateur alimente la génération d'URL, une valeur commençant par / donne une URL scheme-relative comme //evil.com (CVE-2026-107718, CVSS 6.1). Corrigé en 9.3.0 et 8.2.3.
Drizzle ORM 0.45.4 : postgres-js réutilise les prepared statements
Petit patch avec un impact perf : avec le driver postgres-js, un .prepare(name) explicite ne produisait pas de vraie requête préparée. Si vos hot paths en dépendaient, mettez à jour.
pgx_bm25 1.0 : recherche plein texte classée BM25 comme index PostgreSQL natif
L'extension de PGX stocke tout l'index dans les pages de la relation, et hérite donc du WAL, de la crash recovery et de la réplication physique du core. Elle utilise les dictionnaires Snowball de Postgres par index, et les requêtes complexes passent par des builders qui produisent un arbre jsonb. Une vraie alternative à Elasticsearch pour la recherche pertinente.
Cloudflare Clef : des modèles open-weight qui décident au lieu de générer du texte, en edge
Clef (27B) et Clef-Flash (9B) prennent un état et un schéma de questions typées et renvoient une probabilité par option autorisée en un seul forward pass, sans parsing de texte libre. Clef-Flash affiche 38,8 ms de latence médiane. Pour des backends à agents, c'est du routage typé dans le hot path via Workers AI.
Akka a testé une livraison IA pilotée par specs sur 65 projets open source
En portant 65 projets, Akka a constaté que des specs structurées avec affirmations, preuves et comportement typé améliorent la première implémentation, tandis que les context files échouent sur les décisions transverses. La validation combinait les tests d'origine et des auditeurs sérialisation, sécurité, PII, idempotence et frontières architecturales. Le petit modèle suivait la spec ; le grand improvisait.
Leçon JWT : une signature valide ne valide pas le payload
Un des advisories fast-jwt (CVE-2026-107723, CVSS 8.1) illustre le schéma : si le payload signé est un tableau JSON, createVerifier ignore exp, aud, iss et consorts et renvoie un succès. Rappel d'architecture : fixez des algorithms explicites, séparez les clés par algorithme et validez la forme du payload par schéma dans votre couche d'auth.
Tendances Notables
Correctifs incomplets : fast-jwt et Handlebars publient tous deux des contournements de CVE déjà corrigées. Quand un correctif de sécurité sort, lisez le diff, pas seulement le numéro de version.
Les outils deviennent plus stricts par défaut : Hono v5 type <code>json()</code> en <code>unknown</code> et Prisma 8 exige un consentement explicite avant toute perte de données.