セキュリティ 2026年5月Security Release:Express.js multiparty 4.3.0 Expressチームがmultiparty 4.3.0 をリリースし、4.2.3 以下のすべてのバージョンに存在する高深刻度のサービス拒否脆弱性3件 を修正しました。CVE-2026-8159 は、約8KB のヘッダーを持つ細工されたmultipartアップロードによってContent-Dispositionのfilenameパーサーでリゲックスのバックトラッキングが発生し、Node.jsのイベントループがブロックされます。CVE-2026-8161 はプロトタイプ汚染を悪用し、__proto__やconstructorなどのObject.prototypeプロパティと衝突するフィールド名を送信するとプロセスがクラッシュします。CVE-2026-8162 はmalformedなパーセントエンコーディングを含むfilename*パラメータをtry/catchなしでdecodeURIに渡してプロセスをクラッシュさせます。multipartyでマルチパートアップロードを処理するすべてのサービスは直ちに4.3.0 へアップグレードしてください。
Read Articlearrow_forward Video · リアクティビティ
Signalsについて話す時が来た — Julian Burr at NDC Sydney 2026 Julian BurrはサーバーサイドのPull(PHPテンプレート、ページ全体の再レンダリング)からjQueryのDOM直接操作、Knockout・Vue・Svelte・SolidなどのフレームワークまでWebレンダリングの歴史を辿り、細粒度のリアクティブ変数であるSignals が登場した理由を解説します。Signalsはランタイムが依存関係を自動追跡し、computedな値は上流のsignalが変更されたときだけ再計算され、effectは読み取ったsignalがdirty状態になると実行されます。Burrは約30行 のJavaScriptでsignal・computed・effectの最小実装をライブコーディングし、サブスクリプションモデルをわかりやすく示します。またReactのPullベースの仮想DOMとメモ化(useMemo・useCallback・新コンパイラ)と対比し、ReactチームはSignalsを実験したものの現在は再レンダリングコストの削減に注力していると説明します。講演の最後にはフレームワーク横断でこのプリミティブを標準化してブラウザがネイティブ最適化できるようにするTC39 Signalsプロポーザル (現在Stage 1 )が紹介されます。
AI_INFOGRAPHICopen_in_full close WATCH_VIDEOarrow_forward Article · フレームワーク READ TIME: 3m
Astro 6.4:Pluggable Markdown PipelineとRust製Processor Astro 6.4 には3つ の主要機能が含まれています。新しいmarkdown.processor APIにより、デフォルトのunified (remark/rehype)パイプラインを完全に置き換えられるようになり、既存のプラグインは変更なしで動作し続けます。既存のmarkdown.remarkPluginsなどのトップレベルオプションはdeprecated となり、Astro 8.0 で削除される予定です。新しい@astrojs/markdown-sätteriパッケージはRust製のMarkdown/MDXパイプラインであるSätteri を導入し、AstroとCloudflareのドキュメントサイトのビルド時間をそれぞれ1分以上短縮 しました。さらに@astrojs/cloudflareアダプターにcf()ヘルパーが追加され、SESSION KVバインディングやASSETSバインディング、locals.cfContextなどを自動的に設定できるようになりました。
READ_FULL_LOGarrow_forward Article · フレームワーク READ TIME: 6m
Ember 7.0リリース:Deprecation CleanupとEmbroider+ViteのDefault化 Ember 7.0 は6 .xサイクルでdeprecatedとなったAPIを削除するクリーンアップメジャーリリースで、新しいpublic APIの追加はありません。主な削除項目には、import Ember from 'ember'、ember-sourceからのAMDバンドルの公開、そして@ember/serviceの旧injectインポート(serviceに置き換え)が含まれます。先行する6 .xシリーズでは、6.8 でEmbroiderとViteがデフォルトビルドシステムとなり、strict-modeのtemplate-tagコンポーネント形式がデフォルトになり、trackedArray、trackedMap、trackedSetなどトラック可能なネイティブコレクション型が追加されました。6.12 でdeprecation警告がなければ7.0 へのアップグレードはスムーズに行え、前バージョンの6.12 はLTS バージョンに指定されました。
READ_FULL_LOGarrow_forward Article · セキュリティ READ TIME: 12m
Server Action時代のNext.js Applicationを守る Next.js App Router のServer Actionsはプライベートなヘルパー関数ではなく、リモートから呼び出し可能なエンドポイントであるため、本番APIと同様に堅牢化する必要があります。本記事では5つ の多層防御を解説しています。コンパイル後にTypeScriptの型情報が消えるため、Zod によるランタイム入力バリデーション、ID列挙攻撃を防ぐための明示的なセッション認証とリソースレベルの認可、Server ComponentからクライアントへのデータリークをDTOとserver-onlyパッケージで防ぐ方法、React 19 の実験的なtaintUniqueValueとtaintObjectReference APIによるランタイム強制、そしてhttpOnly/secure/sameSite: strictクッキーフラグとCSP nonce、スライディングウィンドウミドルウェアによるレート制限です。さらにnext-safe-actionを使った認証・バリデーション・型付きレスポンスの標準化と高リスク操作への個別レート制限も紹介しています。
READ_FULL_LOGarrow_forward Article · データ取得 READ TIME: 8m
TanStack RouterとQuery:Route LoaderとGlobal Cacheを組み合わせる TanStack Router はStale-While-Revalidateのルートキャッシュを独自に備えていますが、そのキャッシュはルートごとに隔離されており、他のルートからアクセスできません。TanStack Query のQueryCacheはqueryKeyで識別されるグローバルキャッシュで、ユーザー情報などの共有データに適しています。推奨パターンはルートローダー内でensureQueryDataを呼び出し、コンポーネントバンドルがダウンロードされる前にできるだけ早くデータフェッチを開始することで、コンポーネントはuseSuspenseQueryまたはuseQueryでデータを読み取ります。QueryがキャッシュングするときはRouterのキャッシュ設定(defaultPreloadStaleTimeを0 に)を無効にする必要があります。TanStack StartではsetupRouterSsrQueryIntegrationがサーバーで取得したデータを自動的にdehydrateしてクライアントキャッシュにストリーミングします。
READ_FULL_LOGarrow_forward Article · AIツール READ TIME: 5m
AGENTS.mdへRuleを書くのはやめよう:Agent Hookとnano-stagedを使う Evil MartiansはAGENTS.mdにコード品質ルールを記述することは信頼性が低いと主張しています。LLMはこれらの指示をしばしば忘れる一方、自動化スクリプトは決定論的でトークンも節約できます。推奨セットアップは5分 で完了します:nano-staged (lint-stagedの24個 の依存関係に対して0個 )をインストールし、.nano-staged.jsonでoxfmtとoxlintを変更ファイルに実行するよう設定し、.claude/settings.jsonにClaude CodeのStopフックを登録してnano-staged --unstaged --quiet --bailを実行、lintが通るまでexit code 2 でエージェントをブロックします。oxlintとoxfmtはESLint・Prettierより5〜10倍高速 で、既存のESLintカスタムJSプラグインもサポートします。jqでstop_hook_activeフラグを確認するガードスクリプトにより、エージェントが自律的にlintエラーを修正できない場合の無限ループを防ぎます。
READ_FULL_LOGarrow_forward summarize Digest_Summary
今週のJavaScriptカテゴリは2件 の重要なセキュリティ勧告が中心となりました。ExpressチームがmultipartyをバージョンIPM4.3.0 にアップデートし、4.2.3 以下に存在する高深刻度のDoS脆弱性3件 (CVE-2026-8159 、CVE-2026-8161 、CVE-2026-8162 )を修正しました。これらはcatastrophicなregexバックトラッキング、__proto__フィールド名によるprototype汚染、try/catchなしのdecodeURIクラッシュをそれぞれ対象にしています。multipartアップロードを処理するサービスはすべて直ちにアップグレードが必要です。また、Next.js Server Actions に関する詳細な解説は、これらのエンドポイントが公開呼び出し可能であることを改めて示し、Zodバリデーション、セッション認証、server-onlyの境界、React 19 taint API、next-safe-actionによるレート制限が不可欠であると説明しています。
フレームワーク面では、Astro 6.4 がプラグイン可能なmarkdown.processor APIを導入し、トップレベルのremarkPluginsやrehypePluginsオプションをdeprecated にするとともに、Rustベースの@astrojs/markdown-sätteriパッケージを通じてSätteriパイプラインを追加し、AstroとCloudflareのドキュメントのビルド時間を1分以上短縮 しました。Ember 7.0 は6 .xサイクルでdeprecatedになったAPIを削除するクリーンアップリリースで、EmbroiderとViteがデフォルトビルドシステムとなり、6.12 がLTSに指定されました。
アーキテクチャに関する2つ のトピックも注目を集めました。TanStack RouterとQueryの著者Dominik Dorfmeister は、ルートローダーでensureQueryDataを実行し、useSuspenseQueryでデータを読み取り、defaultPreloadStaleTimeを0 に設定する標準的な統合パターンをまとめました。Evil MartiansはAGENTS.mdのルールの代わりに、ESLintとPrettierより5〜10倍高速 なoxlintとoxfmtを実行するnano-staged Claude Code Stopフックを活用することを提案しました。Julian BurrのNDC Sydneyでの講演はSignalsの原理を解説し、現在TC39 Stage 1 のSignalsプロポーザルも紹介しました。
Key Takeaways multipartyを直ちに4.3.0 へアップグレードしてください。CVE-2026-8159 、CVE-2026-8161 、CVE-2026-8162 はmultipartアップロードを処理するすべてのNode.jsサービスで認証なしのサービス拒否攻撃を可能にします。 Next.js Server Actionsはパブリックエンドポイントです。Zodバリデーション、セッション認証、server-onlyインポート、next-safe-actionによるレート制限を多層的に適用し、主要な攻撃ベクターを塞ぐ必要があります。 Astro 6.4 のRustベースSätteriMarkdownパイプラインは実際のドキュメントサイトで1分 以上ビルド時間を短縮しました。unifiedパイプラインとトップレベルのプラグインオプションはAstro 8.0 に向けてdeprecatedになっています。