Dev News — 23 Oct 2026: Bun 1.4.4 trae bun fmt, VS Code 1.143 y una tanda de advisories de frontend
Safari Technology Preview 255: button en el select nativo y streams a AudioWorklet
El <select> con apariencia nativa ahora acepta <button>, se soporta la feature cross-origin-isolated de Permissions Policy y se pueden transferir streams a un AudioWorklet. En SVG llega el atributo side en <textPath>. No hay CSS nuevo, pero sí un montón de fixes de line-clamp y cross-fade() alineado con CSS Images Level 4.
DOMPurify 3.4.17: bypass crítico de SAFE_FOR_TEMPLATES vía shadow roots (CVSS 9.2)
Con SAFE_FOR_TEMPLATES: true y un modo que devuelve DOM (RETURN_DOM, RETURN_DOM_FRAGMENT o IN_PLACE), expresiones como {{...}} o ${...} sobreviven dentro de un shadow root adjunto, porque el scrub final nunca recorre shadow roots. Afecta de 3.4.4 a 3.4.16; el mismo lote trae un high (7.6) por handlers que quedan armados en IN_PLACE. Si renderizás HTML de usuarios con frameworks de templates, actualizá a 3.4.17 ya.
Astro 7.3.2: XSS por contenido sin escapar en script y style de JSX/MDX
El renderer astro:jsx (incluido MDX) trataba los hijos string de <script> y <style> como HTML confiable: un valor dinámico en <script>{value}</script> con </script> adentro inyectaba HTML y JS arbitrario (CVE-2026-114128). También salió un low por inyección de CSS en View Transitions. Todo lo anterior a 7.3.2 está afectado.
Nuxt 4.6.2: cuatro advisories, incluido un bypass de route rules por mayúsculas
Con routing case-insensitive, las route rules del server (redirect, headers, proxy, ssr) se salteaban en paths con otra capitalización (CVE-2026-114132, 6.3). En el mismo lote: segmentos percent-encoded que esquivan appMiddleware, server islands que renderizan useHeadSafe sin sanitizar y un fix incompleto de javascript: en <NuxtLink>. Ojo: para Nuxt 3 no hay versión parcheada listada, así que es hora de migrar.
Storybook: segundo advisory del dev server, token de WebSocket expuesto en la LAN (8.7)
El dev server le entrega su token de autenticación de WebSocket a cualquiera que cargue sus páginas por IP, y ese WebSocket permite inyectar código en stories o crear archivos (CVE-2026-114126). Es peor si tenés el addon de Vitest. Los fixes son los mismos que el advisory de ayer: 8.6.19, 9.1.21, 10.6.2 u 11.0.0-alpha.6. Si ya actualizaste, estás cubierto; si no, no corras Storybook en una WiFi pública.
Tendencias Destacadas
La consolidación de tooling sigue: Bun ya trae runtime, package manager, type checker y ahora formatter en un solo binario.
Otro día de advisories en lote para frameworks (Astro, Nuxt, DOMPurify, Storybook): revisá tus lockfiles, no esperes al dependabot.
Safari Technology Preview 255: button in native select, streams to AudioWorklet
Native-appearance <select> now supports <button>, the cross-origin-isolated Permissions Policy feature is supported, and streams can be transferred to an AudioWorklet. SVG gains the side attribute on <textPath>. No new CSS features, but many line-clamp fixes and cross-fade() now matches CSS Images Level 4.
DOMPurify 3.4.17: critical SAFE_FOR_TEMPLATES bypass via shadow roots (CVSS 9.2)
With SAFE_FOR_TEMPLATES: true plus a DOM-returning mode (RETURN_DOM, RETURN_DOM_FRAGMENT or IN_PLACE), template expressions like {{...}} or ${...} survive inside an attached shadow root, because the final scrub never recurses into shadow roots. Affects 3.4.4 through 3.4.16; the same batch adds a high (7.6) for event handlers left armed in IN_PLACE mode. If you render user HTML alongside a template framework, upgrade to 3.4.17 now.
Astro 7.3.2: XSS via unescaped script and style content in JSX/MDX
The astro:jsx renderer (MDX included) treated string children of <script> and <style> as trusted HTML: a dynamic value in <script>{value}</script> containing </script> could inject arbitrary HTML and JavaScript (CVE-2026-114128). A low-severity CSS injection in View Transitions was disclosed alongside it. Everything before 7.3.2 is affected.
Nuxt 4.6.2: four advisories, including a case-variant route rules bypass
With case-insensitive routing, server route rules (redirect, headers, proxy, ssr) were skipped for case-variant paths (CVE-2026-114132, 6.3). The same batch covers percent-encoded segments bypassing appMiddleware, server islands rendering useHeadSafe input unsanitized, and an incomplete javascript: URL fix in <NuxtLink>. Nuxt 3 has no patched version listed, so plan the upgrade.
Storybook: second dev-server advisory, WebSocket token exposed on the LAN (8.7)
The dev server hands its WebSocket auth token to any client that loads its pages by IP, and that WebSocket can inject code into stories or create files (CVE-2026-114126). Impact is worse with the Vitest addon installed. The fixed versions match yesterday's advisory: 8.6.19, 9.1.21, 10.6.2 or 11.0.0-alpha.6. If you already upgraded, you're covered.
Notable Trends
Toolchain consolidation continues: Bun now bundles runtime, package manager, type checker and formatter in one binary.
Another batch-disclosure day for frameworks (Astro, Nuxt, DOMPurify, Storybook): check your lockfiles instead of waiting for Dependabot.
Safari Technology Preview 255 : button dans le select natif, streams vers AudioWorklet
Le <select> à apparence native accepte désormais <button>, la fonctionnalité cross-origin-isolated de Permissions Policy est supportée et les streams peuvent être transférés vers un AudioWorklet. Le SVG gagne l'attribut side sur <textPath>. Pas de nouveau CSS, mais de nombreux correctifs line-clamp et cross-fade() conforme à CSS Images Level 4.
DOMPurify 3.4.17 : contournement critique de SAFE_FOR_TEMPLATES via shadow roots (CVSS 9.2)
Avec SAFE_FOR_TEMPLATES: true et un mode renvoyant du DOM (RETURN_DOM, RETURN_DOM_FRAGMENT ou IN_PLACE), des expressions comme {{...}} ou ${...} survivent dans un shadow root attaché, car le nettoyage final ne parcourt jamais les shadow roots. Versions 3.4.4 à 3.4.16 concernées ; le même lot ajoute un avis élevé (7.6) sur des handlers restés actifs en mode IN_PLACE. Mettez à jour vers 3.4.17 immédiatement.
Astro 7.3.2 : XSS via contenu non échappé dans script et style en JSX/MDX
Le renderer astro:jsx (MDX compris) traitait les enfants texte de <script> et <style> comme du HTML de confiance : une valeur dynamique dans <script>{value}</script> contenant </script> pouvait injecter du HTML et du JavaScript arbitraires (CVE-2026-114128). Une injection CSS de faible gravité dans les View Transitions a été publiée en parallèle. Toutes les versions antérieures à 7.3.2 sont concernées.
Nuxt 4.6.2 : quatre avis, dont un contournement des route rules par la casse
Avec un routage insensible à la casse, les route rules serveur (redirect, headers, proxy, ssr) étaient ignorées pour des chemins de casse différente (CVE-2026-114132, 6.3). Le même lot couvre des segments percent-encoded contournant appMiddleware, des server islands rendant useHeadSafe sans assainissement et un correctif incomplet des URL javascript: dans <NuxtLink>. Aucune version corrigée n'est listée pour Nuxt 3.
Storybook : deuxième avis sur le serveur de dev, token WebSocket exposé sur le LAN (8.7)
Le serveur de dev remet son token d'authentification WebSocket à tout client qui charge ses pages par IP, et ce WebSocket permet d'injecter du code dans les stories ou de créer des fichiers (CVE-2026-114126). L'impact est plus grave avec l'addon Vitest. Les versions corrigées sont celles de l'avis d'hier : 8.6.19, 9.1.21, 10.6.2 ou 11.0.0-alpha.6.
Tendances Notables
La consolidation de l'outillage continue : Bun regroupe désormais runtime, gestionnaire de paquets, type checker et formateur dans un seul binaire.
Encore une journée d'avis groupés pour les frameworks (Astro, Nuxt, DOMPurify, Storybook) : vérifiez vos lockfiles sans attendre Dependabot.