Modern Frontend CVEs

フロントエンドエンジニアのための脆弱性キュレーション

React, Next.js, Vue, Node.jsなどのモダンフロントエンド技術に関する最新のセキュリティアドバイザリ(CVE)を自動収集し、AIが日本語で分かりやすく3行要約。日々のキャッチアップにかかる時間を大幅に削減し、安全なプロダクト開発をサポートします。

最新の脆弱性情報

よく探す:
深刻度:
全 1602 件中 1602 件を表示
CVE-2026-107719mediumCVSS: 4.2
2026-10-08

fast-jwt: Verifier cache accepts expired JWTs without iat.

fast-jwt<= 6.3.3→6.3.4
CVE-2026-107722criticalCVSS: 9.8
2026-10-08

fast-jwt: Incomplete patch of CVE-2026-34950: Non-whitespace key-prefix re-enables RSA→HS256 algorithm confusion

fast-jwt>= 6.2.0, <= 6.2.4→6.3.0
CVE-2026-107724highCVSS: 7.4
2026-10-08

fast-jwt treats raw public JWK JSON as an HMAC secret, enabling HS256 token forgery

fast-jwt= 6.2.4→6.3.0
CVE-2026-61426highCVSS: 8.6
2026-10-08

PraisonAI: AgentOS defaults to network-exposed no-auth mode, allowing unauthenticated agent invocation and instruction disclosure

praisonai< 1.7.3→1.7.3
CVE-2026-107391mediumCVSS: 6.2
2026-10-08

music-metadata: MP4 stsd sample-entry size==0 causes a synchronous infinite loop (DoS) — unreleased regression on master

AIで3行以内に要約した超簡単な概要

Node.jsの `music-metadata` ライブラリの未リリース版に、悪意のあるMP4ファイルでサーバーを停止させる脆弱性が発見されました。

要約した概要
### 脆弱性の仕組み `music-metadata` ライブラリがMP4ファイルの `stsd` (sample description) ボックスを解析する際、通常は各エントリのサイズを読み取り、次に進みます。しかし、攻撃者によってこのエントリサイズが意図的に `0` に設定された場合、内部の処理が次に進まず、同じ場所を繰り返し読み続ける無限ループに陥ります。 このループ処理はNode.jsのイベントループを完全に停止させる*同期*処理であるため、Node.jsアプリケーション全体が応答しなくなり、CPUを100%近く消費し続けます。さらに、無限ループ中にメモリも際限なく消費されるため、最終的にはシステムリソースを枯渇させます。このバグは、以前のバージョンでは存在しなかった新しいコード変更によって発生した「レグレッション」です。 ### 影響を受ける条件 この脆弱性の影響を受けるのは、以下の条件を満たす場合です。 * `music-metadata` ライブラリの、この脆弱性が含まれる将来のバージョン(現時点では `master` ブランチにのみ存在し、npmで公開されているバージョンには含まれていません)を使用している場合。 * ユーザーがアップロードした、または信頼できないソースから取得したMP4(オーディオ/ビデオ)ファイルのメタデータを解析するNode.jsサービス。 * 具体的には、`parseBuffer`、`parseFile`、`parseStream`、`parseBlob`、`parseWebStream` のいずれかの関数を利用してファイルを解析している場合に影響を受ける可能性があります。 * わずか48バイトという非常に小さいファイルで攻撃が可能です。 ### 推奨される対応策 * **現在のバージョンでは影響なし:** この脆弱性は現在のnpm公開バージョン(例: `11.14.0`)には含まれておらず、`master` ブランチのみに存在します。そのため、現行バージョンを使用しているユーザーはすぐに対応する必要はありません。 * **将来のバージョンに注意:** ライブラリのメンテナは、この脆弱性が含まれるバージョンが正式リリースされる前に修正を適用する必要があります。ユーザーとしては、この問題が修正されたバージョンがリリースされるまで、`master` ブランチから直接ライブラリをインストールして利用することを避け、公式リリースバージョンを使用し続けることを推奨します。 * **入力検証の強化:** 一般的なセキュリティ対策として、ユーザーからのファイル入力は可能な限り厳格に検証し、信頼できないソースからのファイルを解析する際には、サンドボックス化された環境での処理を検討することが重要です。
music-metadata< 11.16.0→11.16.0
Advertisement
CVE-2026-107387mediumCVSS: 6.2
2026-10-08

music-metadata: Uncontrolled memory allocation in APEv2 parser

AIで3行以内に要約した超簡単な概要

音楽ファイル解析ライブラリ`music-metadata`のAPEv2パーサーにメモリ枯渇の脆弱性があります。悪意のあるAPEv2ファイルによって大量のメモリが消費され、アプリケーションが停止する可能性があります。迅速なライブラリのアップデートを強く推奨します。

要約した概要
この脆弱性は、`music-metadata`ライブラリのバージョン11.15.0以前におけるAPEv2ファイルの解析処理に存在します。パーサーは、入力ファイルからAPEv2タグアイテム(例えばカバーアート画像など)のサイズを読み取りますが、実際にファイル内にそのサイズのデータが存在するかを確認する前に、その宣言されたサイズ分のメモリを割り当ててしまいます。 これにより、わずか134バイトの不正に細工されたAPEv2ファイルが、128MiB(メガバイト)のような非常に大きなメモリの割り当てを強制できます。アプリケーションがこのような信頼できないAPEv2ファイルを解析しようとすると、メモリが枯渇し、最終的にサービス拒否(DoS)の状態に陥る可能性があります。複数のファイルを同時に解析したり、繰り返し解析を行うと、メモリ消費の影響はさらに増大します。 影響は主にシステムの可用性に限定され、データや情報の機密性や完全性への影響は確認されていません。 **対応策:** ライブラリの提供元は、メモリを割り当てる前にタグアイテムのサイズを検証することを推奨しています。具体的には、宣言されたサイズが、ファイルに残されたデータ量や妥当な最大サイズを超えていないかを確認する必要があります。バイナリデータアイテムの場合、サイズが検証されるまでメモリ割り当てを行わないようにする修正が求められます。この問題は、ライブラリを最新バージョンにアップデートすることで解決される可能性がありますので、速やかにアップデートを検討してください。
music-metadata<= 11.12.3→11.16.0
CVE-2026-107388mediumCVSS: 6.2
2026-10-08

music-metadata: ID3v2 tag size not validated before allocation, causing memory exhaustion DoS

AIで3行以内に要約した超簡単な概要

`music-metadata`ライブラリに、不正な音楽ファイルによってサーバーのメモリを大量に消費させ、サービスを停止させる深刻な脆弱性が見つかりました。わずか10バイトのファイルで約268MBものメモリを不正に確保させることが可能です。この脆弱性への対応として、ライブラリの緊急アップデートが必須です。

要約した概要
### 脆弱性の概要 `music-metadata`ライブラリのID3v2タグ解析機能にメモリ枯渇(DoS: Denial of Service)につながる脆弱性があります。このパーサーは、MP3などの音楽ファイルに含まれるID3v2タグのサイズ情報(最大約268MB)を、ファイルの実際のサイズと照合せずに信頼し、その分のメモリを即座に確保してしまいます。例えば、たった10バイトの不正なファイルでも、パーサーは約268MBもの巨大なメモリバッファを確保してしまいます。 データ読み込みはすぐに完了しないため失敗しますが、そのエラーはライブラリ内部で処理され、外部のアプリケーションには「正常にメタデータが解析された」かのように見えてしまいます。結果として、必要以上のメモリが確保されたままになり、解放されるまでに時間がかかる、あるいは解放されないまま蓄積されていきます。 ### どのような影響があるか この脆弱性が悪用されると、サーバーのメモリが急速に枯渇し、システムが応答しなくなったり、予期せぬシャットダウンを引き起こしたりする可能性があります。これはサービス運用妨害(DoS)に直結します。 具体的には、攻撃者がわずか10個の不正なファイルを同時にアップロードするだけで、サーバーは2.68GBものメモリを消費させられる可能性があります。このような攻撃が繰り返されると、時間とともにメモリが消費され続け、最終的にサーバーの動作が不安定になります。 この脆弱性は、MP3だけでなく、FLAC、DSF、MusepackなどID3v2タグを使用する様々な形式のファイルに影響します。 ### 影響を受けるシステムと対象者 主に`music-metadata`ライブラリをサーバーサイドアプリケーションで利用し、ユーザーからの音楽ファイル(MP3など)のアップロードを受け付けて、そのメタデータを解析するあらゆるWebサービスが影響を受けます。具体的には、音楽ストリーミングサービス、ポッドキャスト配信プラットフォーム、メディアサーバー、DiscordやSlackのような音声処理サービス、またはファイルアップロード機能を持つWebアプリケーションなどが該当します。 フロントエンドエンジニアが直接的にこのライブラリをクライアントサイドで扱うことは稀かもしれませんが、ユーザー体験に関わるバックエンドシステムに重大な影響を及ぼすため、関連する開発者としてこのリスクを把握しておくことは非常に重要です。 ### 推奨される対策 最優先で`music-metadata`ライブラリを、この脆弱性が修正された最新バージョンにアップデートしてください。アップデートにより、タグサイズの検証が適切に行われるようになります。可能であれば、アップロードされるファイルのサイズ制限を厳格に設け、アプリケーションのメモリ使用量を継続的に監視する仕組みを導入することも検討してください。
music-metadata<= 11.12.3→11.16.0
CVE-2026-107389mediumCVSS: 6.2
2026-10-08

music-metadata: EBML parser trusts element lengths, allowing memory exhaustion or process abort

AIで3行以内に要約した超簡単な概要

music-metadataライブラリは、細工された音声・動画ファイルを処理する際に、アプリケーションが大量のメモリを消費してフリーズしたり、Node.jsプロセスが強制終了する可能性があります。 特にNode.js環境では、エラーを捕捉できずにシステムが停止する恐れがあるため、早急なライブラリのアップデートと外部ファイルの取り扱いへの注意が必要です。 修正版がリリースされ次第、速やかに更新してください。

要約した概要
### 脆弱性の仕組み `music-metadata`ライブラリが使用するEBML(Extensible Binary Meta Language)パーサーには、Matroska(.mkv)やWebM(.webm)ファイルなどのメディアメタデータを解析する際の脆弱性が存在します。このパーサーは、ファイル内の各データ要素の長さを読み取る際に、その長さが親コンテナの範囲内に収まっているか、または利用可能な入力データの量を越えていないかを事前に検証していませんでした。 これにより、攻撃者が非常に小さな(例えば数十バイト程度の)悪意のあるファイルを細工し、内部の要素に不当に大きな長さを宣言させることが可能でした。パーサーはこの宣言された長さをそのまま信じてメモリを確保しようとするため、問題が発生します。 ### 影響を受ける条件とリスク この脆弱性により、以下のようなリスクがあります。 * **メモリ枯渇によるサービス停止(DoS)**: 悪意のあるファイルを処理すると、アプリケーションが不釣り合いに大量のメモリを割り当てようとし、メモリが枯渇してフリーズしたり、クラッシュしたりする可能性があります。 * **Node.jsプロセスの強制終了**: 特に`parseFile`のようなAPIでファイルパスを処理する場合、わずか48バイトの細工されたファイルが32GBといった巨大なメモリ割り当てを宣言させることができ、これによってV8 JavaScriptエンジンが致命的なエラーを起こし、Node.jsプロセス自体が強制終了することが確認されています。この強制終了はJavaScriptの通常の`try/catch`では捕捉できないため、アプリケーションは予期せず停止してしまいます。 影響は主にアプリケーションの可用性に限定され、機密情報の漏洩やデータの改ざんといった影響は報告されていません。 ### 推奨される対応策 この脆弱性に対処するため、`music-metadata`ライブラリの修正(プルリクエスト #2735)が提案されています。この修正では、EBMLの要素の長さをデコードしたりメモリを割り当てたりする前に、その長さが安全であるか、親コンテナの範囲を超えていないか、または利用可能なファイルデータの量を超えていないかを厳密に検証するようになります。また、ストリーム処理などで合計サイズが不明な場合でも、大きな要素は段階的に読み込まれ、不正な入力が大きなメモリ割り当てを試みる前に失敗するよう設計されています。 このアドバイザリが公開された時点では、修正がまだ正式リリースされていないため、`music-metadata`ライブラリの最新バージョンへの更新状況を定期的に確認し、パッチが適用されたバージョンが公開され次第、速やかにアップデートすることを強く推奨します。それまでは、信頼できないソースから提供されたMatroska/WebMファイルを`music-metadata`ライブラリで処理しない、あるいは細心の注意を払って取り扱うことが重要です。
music-metadata< 11.16.0→11.16.0
CVE-2026-107385highCVSS: 7.4
2026-10-08

MariaDB Connector/Node.js: SQL injection in the text protocol when the session uses NO_BACKSLASH_ESCAPES

AIで3行以内に要約した超簡単な概要

MariaDB Connector/Node.jsにSQLインジェクションの脆弱性が見つかりました。特定のデータベース設定(`NO_BACKSLASH_ESCAPES`)を使用している場合、攻撃者がDBのデータを盗んだり改ざんしたりする危険があります。バックエンドの担当者に伝え、早急にコネクタを更新するなどの対策を検討してください。

要約した概要
この脆弱性は、MariaDB Connector/Node.jsがデータベースの特殊なエスケープモードである`NO_BACKSLASH_ESCAPES`を正しく処理しないことに起因します。 通常、SQLクエリにユーザーからの入力を安全に組み込むためには、特殊文字(特にシングルクォート)をエスケープする必要があります。しかし、このコネクタは、DBが`NO_BACKSLASH_ESCAPES`モードで動作していることを認識せず、常にバックスラッシュ(`\`)を使ってクォート文字をエスケープしていました。`NO_BACKSLASH_ESCAPES`モードではバックスラッシュは通常の文字として扱われるため、コネクタがエスケープした文字列がSQL構文内で意図しない形で閉じられ、ユーザー入力がSQLコマンドとして解釈されてしまう可能性がありました。`Connection.escape()`メソッドや、`connection.query()`などで一般的なプレースホルダー(例: `WHERE name = ?`)を使用する際に影響を受けます。 攻撃者がアプリケーションに渡すクエリパラメータの値を操作できる場合、この脆弱性を利用して、アプリケーションがデータベースに接続するユーザーの権限で任意のSQLコマンドを実行できてしまいます。これにより、データベース内の機密情報の読み取り、変更、削除など、広範囲なデータ操作が可能になる重大なリスクがあります。 この脆弱性が実際に露呈するのは、データベースサーバー全体、コネクタの設定オプション(`sessionVariables` / `initSql`)、またはアプリケーションが明示的に`SET sql_mode = 'NO_BACKSLASH_ESCAPES'`を実行している環境に限られます。これらの設定が意図的に行われていない限り、影響を受ける可能性は低いですが、一度確認することをお勧めします。なお、`execute()`や`batch()`といったメソッドは、パラメータをバイナリ形式で送るため、この脆弱性の影響を受けません。 **対応策:** この脆弱性を解決するには、MariaDB Connector/Node.jsを修正済みのバージョンに速やかにアップデートすることが最も重要です。アップデートにより、コネクタは`NO_BACKSLASH_ESCAPES`モードを正しく認識し、適切な方法で文字列をエスケープするようになります。 **一時的な回避策:** アップデートがすぐにできない場合、以下のいずれかの対応を検討してください。 * `Connection.query()`の代わりに、`execute()`または`batch()`メソッドを使用してクエリを実行する。これらのメソッドは影響を受けません。 * データベース側で`NO_BACKSLASH_ESCAPES`モードを無効にする(サーバー設定、またはコネクタの`sessionVariables` / `initSql`オプションから削除する)。
mariadb< 3.2.5→3.2.5
mariadb>= 3.3.0, < 3.3.4→3.3.4
mariadb>= 3.4.0, < 3.4.7→3.4.7
mariadb>= 3.5.0-rc.0, < 3.5.4→3.5.4
CVE-2026-107384highCVSS: 8.1
2026-10-08

MariaDB Connector/Node.js: SQL injection through object keys in SET expansion (permitSetMultiParamEntries)

AIで3行以内に要約した超簡単な概要

MariaDB Connector/Node.jsを利用しているNode.jsアプリケーションに、データベースを不正に操作されるSQLインジェクションの脆弱性が見つかりました。 特定のオプションを有効にしている場合、攻撃者によって意図しないデータが更新されたり、任意のSQLコマンドが実行されたりする危険性があります。 デフォルト設定であれば安全ですが、該当オプションを使っている場合は早急に修正版への更新か回避策の適用が必要です。

要約した概要
### 脆弱性の具体的な仕組み この脆弱性は、MariaDB Connector/Node.jsの`permitSetMultiParamEntries`オプションを有効にしている場合に発生します。このオプションは、JavaScriptオブジェクトのキーをSQLの`UPDATE ... SET`句のカラム名として自動展開する便利な機能です。 しかし、内部でのエスケープ処理に不備があり、本来カラム名となるはずのキーに含まれるバッククォート(`)が正しくエスケープされていませんでした。このため、攻撃者がキーにバッククォートを挿入すると、SQL文のカラム名の部分が途中で閉じられ、その後ろに任意のSQLコードを埋め込むことができてしまいます。 結果として、このコードがデータベースによって実行されてしまい、SQLインジェクションが成立します。 ### 影響を受ける条件 * MariaDB Connector/Node.jsの`permitSetMultiParamEntries`オプションが**有効**になっているアプリケーションが影響を受けます。このオプションはデフォルトでは無効化されているため、多くのアプリケーションは直接の影響を受けない可能性があります。 * 攻撃者が制御できる値(例えば、ユーザーからのリクエストボディに含まれるJSONデータなど)を、このオプションを使って`conn.query('UPDATE users SET ? WHERE id = ?', [body, id])`のようなSQLステートメントに渡している場合に脆弱性が露呈します。 * これにより、攻撃者はアプリケーションが想定していないデータベースのカラム(パスワード、残高、ロールなど)を更新したり、さらに任意のSQLコマンドを追記して、データベースからの情報窃取や破壊行為を行う可能性があり、機密性、完全性、可用性の全てに影響を及ぼす可能性があります。 ### 推奨される対応策 1. **最優先事項:** MariaDB Connector/Node.jsを、この脆弱性が修正された最新バージョンに直ちにアップグレードしてください。 2. **一時的な回避策(アップグレードが困難な場合):** * アプリケーションで`permitSetMultiParamEntries`オプションを**無効**にしてください。このオプションはデフォルトで無効であるため、特に有効にした覚えがない場合は、現在の設定を確認することをお勧めします。無効であれば、本脆弱性の影響は受けません。 * もし、このオプションをどうしても有効にしておく必要がある場合は、クエリに渡すオブジェクトのキーを、アプリケーションが許可するカラム名のホワイトリストと照合し、厳密に検証する処理を実装してください。
mariadb>= 3.2.0, < 3.2.5→3.2.5
mariadb>= 3.3.0, < 3.3.4→3.3.4
mariadb>= 3.4.0, < 3.4.7→3.4.7
mariadb>= 3.5.0-rc.0, < 3.5.4→3.5.4
Advertisement
CVE-2026-107383highCVSS: 7.5
2026-10-08

MariaDB Connector/Node.js exposes uninitialized process memory through malformed GeoJSON parameters

AIで3行以内に要約した超簡単な概要

MariaDB Connector/Node.jsに脆弱性があり、攻撃者が不正なGeoJSONデータを送ると、サーバーのメモリ内容(機密情報を含む可能性)がデータベースに保存されてしまいます。速やかにコネクタを最新版にアップデートするか、GeoJSONデータの厳格なバリデーションが必要です。

要約した概要
MariaDB Connector/Node.jsを使用しているアプリケーションで、GeoJSON形式のデータ(特にPolygonやMultiPolygon)をデータベースに保存する際に脆弱性があります。通常、コネクタはGeoJSONデータの座標情報から必要なメモリ領域を確保しデータを書き込みますが、不正なGeoJSONデータが渡された場合、確保したメモリ領域の一部が初期化されないままデータベースに保存されてしまう問題がありました。 これは、メモリを確保する部分と実際にデータを書き込む部分の処理に不整合があったためです。具体的には、`{"length": 4000}`のような`length`プロパティを持つオブジェクトがGeoJSONの座標(リング)として渡されると、その分のメモリは確保されるものの、実際にはデータが書き込まれず、Node.jsプロセスのメモリ上の「ゴミデータ」(他の情報の一部)が残ってしまいます。 攻撃者が操作した不正なGeoJSONオブジェクト(例:マップデータや位置情報関連の入力)をアプリケーションに渡し、それが`execute()`や`batch()`メソッドでデータベースに保存されると、この脆弱性が発動します。データベースに書き込まれるのはNode.jsプロセスのメモリ(ヒープ)の一部であり、これには他のユーザーのセッション情報、クッキー、データベースの認証情報、さらにはTLSの暗号鍵の一部など、非常に機密性の高い情報が含まれる可能性があります。 この漏洩はアプリケーション側からは検知しにくく、データベースへの書き込みは成功したように見えますが、カラムには本来の内容に加えて、意図しないメモリの断片が含まれてしまいます。一度データベースに書き込まれると、バックアップやレプリカにもその情報が残ります。 `query()`メソッドを使用している場合は、この脆弱性の影響を受けません(内部のエンコード処理が異なるため)。 **推奨される対応策:** * **最も推奨される対応:** MariaDB Connector/Node.jsを直ちに脆弱性修正済みの最新バージョンにアップデートしてください。 * **一時的な回避策:** 1. アプリケーションが受け取るGeoJSONデータについて、座標が適切にネストされた数値の配列であることを厳格に検証してからデータベースに渡すようにしてください。 2. GeoJSONデータをデータベースに保存する際に、一時的に`execute()`や`batch()`ではなく`query()`メソッドを使用することも検討できます。
mariadb< 3.2.5→3.2.5
mariadb>= 3.3.0, < 3.3.4→3.3.4
mariadb>= 3.4.0, < 3.4.7→3.4.7
mariadb>= 3.5.0-rc.0, < 3.5.4→3.5.4
CVE-2026-107382mediumCVSS: 5.9
2026-10-08

MariaDB Connector/Node.js: Uncaught exception crashes the client during ed25519 authentication with zero-configuration TLS

AIで3行以内に要約した超簡単な概要

MariaDB Connector/Node.jsに脆弱性があり、特定のTLS設定と認証方法を使用すると、Node.jsアプリケーションが予期せず停止する可能性があります。 中間者攻撃によっても意図的にサービス停止を引き起こされるリスクがあるため、対象環境では速やかに対応が必要です。 データ漏洩はありませんが、アプリケーションの可用性に深刻な影響を与えます。

要約した概要
この脆弱性は、MariaDB Connector/Node.jsにおいて、簡易TLS設定(ゼロコンフィグレーションTLS)と`ed25519`認証プラグインを組み合わせてデータベースに接続した場合に発生します。通常、コネクタは自己署名証明書を受け入れた後、サーバーから送られるフィンガープリント(サーバー識別用のハッシュ値)でサーバーの正当性を検証します。この検証プロセス中に、`Ed25519PasswordAuth.hash()`というメソッド内で、必要な変数(`seed`)が定義されていないという参照エラー(`ReferenceError`)が発生します。 このエラーは、Node.jsのデフォルト設定では捕捉されない例外(uncaught exception)となり、MariaDBに接続しようとしているNode.jsアプリケーション全体を強制終了させてしまいます。この問題は、悪意のあるサーバーだけでなく、通常の正当なMariaDBサーバーへの接続時でも発生する可能性があります。これにより、Node.jsアプリケーションが意図せず停止し、サービス提供に支障をきたす「サービス拒否(Denial of Service)」状態に陥ります。認証情報の漏洩やデータの改ざんのリスクはありませんが、アプリケーションの可用性に直接的な影響を与えます。 この脆弱性の影響を受ける条件は以下の通りです。 1. MariaDBサーバーへの接続がTCP経由であること(Unixソケット接続ではない)。 2. TLS設定で`ssl: true`が指定されているか、`ssl`オブジェクトを使用しているが`rejectUnauthorized: false`が設定されていないこと。 3. データベースにパスワードが設定されていること。 4. サーバー証明書を検証するためのCA証明書(`ssl.ca`)がクライアント側に提供されていないこと。 5. `client_ed25519`認証プラグインがネゴシエートされて使用されていること。 これらの条件がすべて揃った場合に脆弱性が露呈します。CA証明書を提供してサーバー証明書を検証している場合や、`client_ed25519`以外の認証プラグインを使用している場合は影響を受けません。 **推奨される対応策:** この脆弱性はMariaDB Connector/Node.jsのバージョン3.5.4で修正されています。影響を受ける環境をご利用の場合は、速やかにバージョン3.5.4以降へのアップグレードを強く推奨します。以前のメンテナンスブランチ(3.3.xおよび3.4.x)にはパッチが提供されていないため、必ず3.5.4以降にアップグレードしてください。 **アップグレードまでの回避策としては、以下のいずれかの方法を検討してください。** * **サーバー証明書をクライアントに提供する:** `ssl: { ca: '...' }`のように、信頼できるサーバー証明書(CA証明書など)をクライアントに設定し、標準的な証明書検証を使用するようにします。 * **TLSの信頼モードを有効にする:** `ssl: { rejectUnauthorized: false }`を設定し、自己署名証明書でも検証せずに信頼するようにします。これにより、セキュリティリスクが増す可能性があるため、注意が必要です。 * **他の認証プラグインを使用する:** `client_ed25519`以外の認証プラグインを使用するように設定を変更します。
mariadb>= 3.3.0, < 3.5.4→3.5.4
CVE-2026-107392mediumCVSS: 6.2
2026-10-08

music-metadata: uncatchable process crash parsing a crafted `.dsf` (residual of GHSA-v6c2-xwv6-8xf7)

AIで3行以内に要約した超簡単な概要

音楽ライブラリ`music-metadata`に未捕捉の脆弱性があり、悪意ある`.dsf`ファイルを処理するとNode.jsサーバーが強制終了し、サービス停止(DoS)につながります。通常の`try/catch`では防げないため、速やかなアップデートが非常に重要です。

要約した概要
### 脆弱性の概要 `music-metadata`ライブラリが`.dsf`形式のファイルをパースする際、不正に細工されたチャンクデータ(サイズが12バイト未満)を受け取ると、内部的に負の値を`this.tokenizer.ignore()`メソッドに渡してしまいます。この`ignore`メソッドは負の値を受け取ると`RangeError`をスローしますが、エラーを呼び出す部分に`await`が書かれていないため、エラーがPromiseチェーンから切り離されてしまいます。 その結果、アプリケーション側ではパース処理が正常に完了したと認識するにも関わらず、Node.jsのランタイム(特にNode.js 15以降のデフォルト設定)は、バックグラウンドで発生した未処理のPromise Rejectionにより、プロセス全体を突然終了させてしまいます。これにより、開発者が通常実装する`try/catch`によるエラーハンドリングでもこのクラッシュを捕捉・防止できず、予期せぬサーバー停止が発生します。 ### 影響を受ける条件 * `music-metadata`ライブラリを使用しているNode.jsアプリケーション。 * `DSD`マジックを持つファイル(主に`.dsf`形式の音声ファイル)の処理が有効になっている場合。 * 外部から悪意を持って細工された`.dsf`ファイルをアップロード・処理しようとした場合。 * Node.js 15以降のバージョンを使用している場合、プロセスがデフォルトでクラッシュします。 ### 推奨される対応策 1. **ライブラリのアップデート:** `music-metadata`ライブラリの、この脆弱性が修正された最新バージョンに速やかにアップデートしてください。 2. **コード修正(暫定・検証用):** もし直ちにライブラリをアップデートできない場合、`lib/dsf/DsfParser.js`の該当箇所(通常51行目)に`await`キーワードを追加することで、`RangeError`が捕捉可能なエラーとなり、`try/catch`で処理できるようになります。 ```javascript // 変更前: // this.tokenizer.ignore(Number(chunkHeader.size) - ChunkHeader.len); // 変更後: // await this.tokenizer.ignore(Number(chunkHeader.size) - ChunkHeader.len); ``` 3. **入力値の検証:** チャンクをスキップする前に、`chunkHeader.size`が`ChunkHeader.len`(12)以上であることを確認するバリデーションを追加することも有効です。 4. **セキュリティ監査:** アプリケーション内で使用している他のファイルパーサーに対しても、`await`なしで`tokenizer.ignore()`や`readToken()`を呼び出している箇所がないか、同様の脆弱性がないか監査することを推奨します。 この脆弱性はサービス拒否(DoS)攻撃につながるものであり、システムの可用性を著しく損なう可能性があるため、早急な対応が求められます。データ漏洩やリモートコード実行のリスクはありません。
music-metadata<= 11.14.0→11.15.0
CVE-2026-106444mediumCVSS: 4.7
2026-10-08

Handlebars: JavaScript Injection via Unsafe Inline Embedding of Precompiled Templates

AIで3行以内に要約した超簡単な概要

Handlebarsの古いバージョンで、ユーザーが入力したテンプレートをHTMLの`<script>`タグ内に直接埋め込むと、任意のJavaScriptコードが実行される危険性がありました。これにより、Webサイトの乗っ取りや情報漏洩につながる可能性があり、該当する場合は早急な対策が必要です。

要約した概要
Handlebarsの`Handlebars.precompile()`関数は、テンプレートからJavaScriptコードを生成します。以前のバージョンでは、テンプレート内に`</script>`という文字列が含まれていると、生成されるJavaScriptコードにもその文字列がそのまま出力されていました。 HTMLパーサーは、JavaScriptの文字列リテラルの中であっても`</script>`のシーケンスを検知すると、それを囲んでいる`<script>`要素を強制的に終了させてしまいます。これにより、その後に攻撃者が仕込んだHTML(例えば別の`<script>`タグ)がHTMLとして解釈され、悪意のあるJavaScriptコードがブラウザ上で実行されてしまう脆弱性です。 この脆弱性は、主に以下の条件が揃ったアプリケーションに影響を与えます。 1. 攻撃者が内容を制御できる可能性のあるテンプレートをHandlebarsで事前にコンパイルしている場合。 2. そして、そのコンパイル済みのJavaScriptコードをHTMLドキュメント内の`<script>`タグの中に直接インラインで埋め込んでいる場合。 通常のサーバーサイドレンダリングでHTMLを生成する場合や、プリコンパイル済みのテンプレートを外部のJavaScriptファイルとして読み込ませている場合には、この脆弱性の影響を受けません。 推奨される対応策として、以下の点が挙げられます。 1. 信頼できないソース(ユーザー入力など)から生成されたテンプレートのプリコンパイル済みコードを、HTMLドキュメントの`<script>`タグ内に直接インラインで埋め込むのは避けてください。 2. 可能な場合は、プリコンパイル済みのテンプレートを外部のJavaScriptファイルとして提供し、HTMLからはそのファイルを読み込むようにしてください。これにより、HTMLパーサーが途中でスクリプト要素を閉じることがなくなります。
handlebars>= 4.0.0, <= 4.7.9→4.7.10
CVE-2026-106446criticalCVSS: 9.8
2026-10-08

Handlebars: JavaScript Injection via AST Type Confusion in compile (bypass of CVE-2026-33937)

AIで3行以内に要約した超簡単な概要

Handlebarsの`compile()`や`precompile()`関数に、外部から受け取った「信頼できないオブジェクト」を渡してしまうと、悪意のあるJavaScriptコードが実行されてしまう脆弱性です。 これにより、サーバー上で任意のコードが実行されたり、ユーザーのブラウザで不正なスクリプトが動いたりする重大なリスクがあります。 特に、テンプレートに渡す値が「文字列」であることを厳しくチェックし、もしオブジェクトを受け取る可能性がある場合はすぐに対応を検討してください。

要約した概要
Handlebarsの`Handlebars.compile()`および`Handlebars.precompile()`関数は、テンプレートの文字列だけでなく、パース済みの抽象構文木(AST)も受け入れます。Handlebars 4.7.9でASTの検証機能が追加されましたが、特定のノードタイプ(`PathExpression`、`NumberLiteral`、`BooleanLiteral`)の値しかチェックされませんでした。このため、それ以外の多くのAST値(特にプレーンなオブジェクトや特定の文字列)は検証をすり抜け、生成されるJavaScriptコードにそのまま書き込まれてしまいます。この抜け穴を利用して、攻撃者は任意のJavaScriptコードをテンプレートに注入できます。 **影響を受ける条件とリスク** この脆弱性の影響を受けるのは、アプリケーションが外部から受け取った「信頼できないオブジェクト」を`compile()`や`precompile()`に引数として渡す場合です。例えば、JSON形式のリクエストボディをパースした結果のオブジェクトを直接テンプレートコンパイルに利用しているケースが該当します。 * **`compile()`を使用している場合:** 注入されたコードは、テンプレートがサーバー上でレンダリングされる際に、Node.jsプロセス内で実行されます。これにより、サーバー上で任意のコードが実行される(リモートコード実行)非常に高いリスクがあります。 * **`precompile()`を使用している場合:** 注入されたコードはプリコンパイル済みのテンプレート出力に含まれ、そのテンプレートがロードされる場所(例えば、ユーザーのブラウザ)で実行されます。これにより、クロスサイトスクリプティング(XSS)のような形でユーザーの環境に影響を与える可能性があります。 **テンプレートに常に文字列のみを渡しているアプリケーションは影響を受けません。** **推奨される対応策** 1. **入力値の型を厳しく検証する:** `Handlebars.compile()`や`Handlebars.precompile()`に渡す引数が、常に**文字列**であることを確実に検証してください。オブジェクトやJSONデシリアライズされた値が渡されないように、以下のようなチェックを導入することを強く推奨します。 ```javascript if (typeof templateInput !== 'string') { throw new TypeError('テンプレートは文字列である必要があります。'); } ``` 2. **ランタイム専用ビルドの利用:** もしテンプレートをビルド時にプリコンパイルしている場合、サーバーサイドではHandlebarsの**ランタイム専用ビルド**(`handlebars/runtime`)を使用することを検討してください。このビルドには`compile()`関数が含まれていないため、誤って`compile()`を呼び出してしまうリスクを排除できます。
handlebars>= 4.0.0, <= 4.7.9→4.7.10
Advertisement
CVE-2026-106445critical
2026-10-08

Handlebars: JavaScript Injection via Own Property Check Bypass

AIで3行以内に要約した超簡単な概要

Handlebarsで`allowProtoMethodsByDefault: true`を使用していると、悪意のあるテンプレートを通じてJavaScriptを注入され、サーバー上で任意のコードが実行される危険性があります。 これはプロトタイプの`constructor`プロパティが不正に取得されることで発生するリモートコード実行(RCE)の脆弱性です。 緊急でこの設定を見直すか、テンプレートの信頼性を確保してください。

要約した概要
この脆弱性は、JavaScriptのテンプレートエンジンであるHandlebarsが、特定の条件下で`Function`コンストラクタを意図せず公開してしまうことに起因します。Handlebarsには通常、危険なメソッドやプロパティへのアクセスを防ぐ「拒否リスト(deny list)」機能がありますが、オブジェクト自身のプロパティ(own property)に対するチェックが不十分な点が悪用されます。 具体的には、Handlebarsの内部関数`lookupProperty`がオブジェクト自身のプロパティをチェックする際、拒否リストの検証をスキップして値を返してしまう特性があります。JavaScriptのプロトタイプチェーンにおいて、`Function.prototype.constructor`は`Function.prototype`オブジェクト自身のプロパティです。そのため、悪意のあるテンプレートが`Function.prototype`にアクセスし、続けて`constructor`プロパティを検索すると、Handlebarsは拒否リストを無視してJavaScriptの`Function`オブジェクトを直接返してしまいます。 攻撃者はこの脆弱性を利用して、テンプレート内で以下のような手順で任意のJavaScriptコードを実行できます。 1. まず、テンプレートコンテキスト内でアクセス可能な任意の関数を利用し、そのプロトタイプオブジェクト(例: `Function.prototype`)にアクセスします。 2. 次に、そのプロトタイプオブジェクトから`constructor`プロパティにアクセスすることで、`Function`オブジェクト自体を取得します。この時、`constructor`が自身のプロパティであるため、拒否リストによる制限が回避されます。 3. 取得した`Function`オブジェクトを使って、攻撃者が作成した悪意のある文字列をコードとして新しい関数を生成し、Handlebarsのテンプレートレンダリングプロセス中に実行させます。これにより、サーバー上で任意のコードが実行されるリモートコード実行(RCE)に繋がる可能性があります。 この脆弱性が影響を与える主な条件は、Handlebarsテンプレートをコンパイルする際に`allowProtoMethodsByDefault: true`というオプションが設定されている場合です。信頼できないテンプレートやデータソースを使用している環境でこの設定が有効になっていると、非常に危険です。 **推奨される対応策:** 信頼できないソースからのテンプレートやデータを使用する環境では、**`allowProtoMethodsByDefault: true`オプションを設定しない**ようにしてください。これにより、この脆弱性を悪用されるリスクを大幅に軽減できます。
handlebars>= 4.0.0, <= 4.7.9→4.7.10
CVE-2026-107375highCVSS: 8.8
2026-10-08

JHipster: SQL Injection in the Parameter of JHipster-Generated Reactive (WebFlux + R2DBC) Applicationssort

AIで3行以内に要約した超簡単な概要

JHipsterで生成されたリアクティブなWebアプリケーションにSQLインジェクションの脆弱性が見つかりました。 認証された低権限ユーザーでも、データベース内の機密情報の読み取り、データ改ざん、テーブル削除が可能です。 早急なアプリケーションの修正または再生成を強く推奨します。

要約した概要
JHipsterのv7.0.0からv9.2.0までのバージョンで生成された、Spring WebFlux + Spring Data R2DBC + SQLを使用するリアクティブなアプリケーションにSQLインジェクションの脆弱性が存在します。 **脆弱性の内容:** この脆弱性は、ページネーションされたエンティティリストのエンドポイント(例: `GET /api/<entity>?sort=...`)の`sort`パラメータの処理に起因します。ユーザーから送られた`sort`パラメータの値が、何の検証やエスケープ処理もされずにSQLの`ORDER BY`句に直接連結されていました。このため、攻撃者は`sort`パラメータに悪意のあるSQLコード(例: `;DROP TABLE product;--`)を注入し、データベースに実行させることが可能になります。生成されたクエリがシンプルなプロトコルで実行されるため、セミコロンで区切られた複数のSQL文も実行できてしまいます。 **影響を受ける条件とリスク:** * **対象アプリケーション**: JHipsterで生成されたリアクティブ(WebFlux + R2DBC)かつSQLデータベース(H2, PostgreSQLなど)を使用するアプリケーションです。 * JPA(非リアクティブ)を使用している場合やNoSQLデータベースを使用している場合は影響を受けません。 * この脆弱性は、**認証された低権限ユーザー(デフォルトの自己登録で作成されたアカウントを含む)**でも攻撃が可能です。特別な権限は必要ありません。 * **もたらされるリスク**: データベース内のあらゆるテーブル(ユーザーのパスワードハッシュを含む`jhi_user`テーブルなど)の機密情報を読み取ったり、データを任意に変更・削除したり、さらにはテーブル自体を削除してサービスを停止させたりすることが可能です。これにより、機密性、完全性、可用性の全てが侵害される恐れがあります。 **推奨される対応策:** * JHipsterジェネレーターの修正版がリリースされたら、影響を受けるアプリケーションは**再生成する**ことを強く推奨します。 * もし再生成がすぐに難しい場合は、アプリケーション側で`sort`パラメータの値をSQLに組み込む前に、以下のいずれかの対策を講じる必要があります。 * `sort`プロパティ名が、データベースのテーブルやエンティティのメタモデルに存在する**既知の安全なカラム名のみを許可する**ように厳密に検証する。 * `sort`プロパティ名をSQLに直接連結するのではなく、**安全な引用符で囲まれたSQL識別子としてレンダリングする**ように修正する。
generator-jhipster>= 7.0.0, < 9.4.0→9.4.0
CVE-2026-107303highCVSS: 7.6
2026-10-08

JHipster: Generated Applications Allow Stored XSS via Unrestricted Blob ContentType Opened as Same-Origin Blob

AIで3行以内に要約した超簡単な概要

JHipster v9.2.0で生成されたアプリケーションには、ユーザーがアップロードするファイルの種類の指定(MIMEタイプ)を偽装できる脆弱性があります。これにより、悪意のあるHTMLやスクリプトを保存し、特権ユーザーがそれを開くと、そのユーザーの権限で情報が盗まれたり、不正な操作が行われたりするリスクがあります。対象バージョンを使っている場合は、早急な対応が必要です。

要約した概要
JHipster `generator-jhipster` v9.2.0で生成されたWebアプリケーションには、ファイルアップロード機能を持つエンティティがある場合に脆弱性が存在します。この脆弱性は、サーバーとクライアント間のデータ処理における信頼性の問題に起因します。 **脆弱性の仕組みと攻撃経路:** 通常、ファイルをアップロードする際には、そのファイルの種類を示すMIMEタイプ(例: `image/png`、`text/plain`)も一緒に保存されます。しかし、このバージョンで生成されたアプリケーションでは、ユーザーが指定したMIMEタイプがサーバー側で適切に検証されずに、そのままデータベースに保存されてしまいます。例えば、攻撃者は、見た目は画像ファイルでも実際には危険なHTMLコードを含むファイルをアップロードし、「`text/html`」というMIMEタイプを偽装して保存できます。 アプリケーションのUI(Angular/React/Vueで生成された画面)では、保存されたファイルの「開く」リンクをクリックすると、`openFile`という共通のヘルパー関数が使われます。この`openFile`関数は、サーバーから返されたMIMEタイプを無条件に信頼し、そのタイプで「Blobオブジェクト」を作成し、`globalThis.open()`メソッドを使って新しいブラウザウィンドウで開いてしまいます。もし攻撃者が`text/html`のようなアクティブなMIMEタイプを偽装してHTMLファイルをアップロードしていた場合、特権ユーザーがそのファイルを開くと、攻撃者の仕込んだHTMLやJavaScriptコードがアプリケーションと同じオリジン(ドメイン)で実行されてしまう可能性があります。これは「保存型XSS(クロスサイトスクリプティング)」攻撃の一種です。 **影響とリスク:** この脆弱性が悪用されると、一般ユーザー権限の攻撃者が、特権ユーザーのブラウザ上で任意のJavaScriptコードを実行させることができます。結果として、特権ユーザーのセッション情報(JWTトークン、LocalStorageデータなど)を盗み出したり、ユーザーの権限で重要なAPI(管理者向けAPIなど)を呼び出したり、機密情報を閲覧・改ざんしたりする危険性があります。ウェブサーバーのContent Security Policy(CSP)設定によってはスクリプトの実行が制限される場合もありますが、CSPが緩い環境や、特定のブラウザ環境では高いリスクにさらされます。 **影響を受ける条件:** * JHipster `generator-jhipster` v9.2.0 でアプリケーションが生成されている。 * Blob、AnyBlob、またはImageBlobフィールドを含むエンティティが存在する。 * 当該エンティティに対して、認証済みの一般ユーザーが書き込み権限を持っている(または権限設定が緩い)。 * 特権ユーザーが、攻撃者がアップロードしたエンティティの詳細ページやリストページを閲覧し、「開く」リンクをクリックする。 **推奨される対応策:** * JHipsterの公式アップデートを確認し、脆弱性が修正されたバージョンに早急にアップグレードしてください。 * 緊急の対応としては、サーバー側でファイルアップロード時にMIMEタイプの検証を厳格に行い、許可された安全なタイプのみを受け入れるように修正してください(特に`text/html`や`image/svg+xml`など、アクティブなコンテンツタイプは禁止または厳しくサニタイズが必要です)。 * ユーザーがアップロードしたファイルをブラウザで開く際には、ファイルの内容とMIMEタイプが信頼できるものであることを必ず確認するロジックを追加するか、サンドボックス化された環境で開くことを検討してください。 * CSP(Content Security Policy)を強化し、XSS攻撃の影響を最小限に抑える設定を適用してください。
generator-jhipster< 9.4.0→9.4.0
react-jhipster<= 1.0.3→1.1.0
CVE-2026-94544mediumCVSS: 4.2
2026-10-07

Next.js: Pending `use cache` fill can leak Draft Mode content into regular responses and persisted pages

AIで3行以内に要約した超簡単な概要

Next.jsの特定のキャッシュ機能(`use cache`)とDraft Modeを併用していると、未公開のドラフトコンテンツが誤って一般ユーザーに公開されたり、ページに永続的にキャッシュされてしまう脆弱性があります。 一度漏洩したコンテンツは、再検証されるまで多くのユーザーに見られ続けるリスクがあるため、該当するサイトはすぐに対応を検討してください。

要約した概要
Next.jsの`use cache`機能は、キャッシュを生成中に複数のリクエストで共有する際、それが「Draft Mode」のリクエストか「通常の公開コンテンツ」のリクエストかを区別できていません。 **脆弱性の具体的な仕組み:** リクエストが同時に発生した場合、キャッシュが正しく処理されず、以下の問題が発生します。 1. **通常ユーザーへの未公開コンテンツ漏洩:** 通常のリクエストがDraft Modeのリクエストと重なると、認証なしで未公開のドラフトコンテンツを受け取ってしまいます。 2. **Draft Modeでの表示不整合:** Draft Modeのリクエストが通常の公開済みコンテンツのリクエストと重なると、ドラフトではなく公開済みコンテンツが表示されてしまいます。 **最も深刻な影響:** この問題が特に深刻になるのは、重複した通常のリクエストがページをプリレンダリング(事前に生成)する場合です。例えば、オンデマンドでページがプリレンダリングされる際に、誤ってDraft Modeの未公開コンテンツがキャッシュに書き込まれると、そのコンテンツが永続的にページに埋め込まれてしまいます。一度埋め込まれた未公開コンテンツは、ページが再検証されるまで、そのページにアクセスする全ての一般ユーザーに公開され続けます。また、キャッシュされた関数は複数のルートで共有される可能性があるため、エディターがプレビューしていたページとは別のページが「汚染」される可能性もあります。 **影響を受ける条件:** 以下の両方の条件を満たすNext.jsサイトが影響を受けます。 * 「Cache Components」(または`experimental.useCache`)機能を有効にしている。 * Draft Modeのプレビュー機能を利用しており、そのキャッシュされた関数がドラフトに依存する(未公開コンテンツを含む)内容を返している。 **推奨される対応策:** * Next.jsの最新バージョン(この脆弱性が修正されたバージョン)への速やかなアップデートを検討してください。 * 一時的な回避策として、`use cache`とDraft Modeを同時に利用する際のロジックを見直すか、この組み合わせが必須でない場合は一時的に一方の機能を無効にすることも検討してください。 * 公式からの修正アナウンスやGitHubのイシューを確認し、推奨される対応に従ってください。
next>= 16.3.0, < 16.3.8→16.3.8
CVE-2026-94543mediumCVSS: 5.3
2026-10-07

Next.js has cache poisoning of SSG and ISR pages in self-hosted applications

AIで3行以内に要約した超簡単な概要

セルフホストでNext.jsアプリを運用し、SSGやISRを使っている場合、ページのキャッシュが別のコンテンツに置き換わる可能性があります。 これにより、誤った情報がユーザーに表示され続ける恐れがあります。 Vercel利用者は影響ありませんが、該当する場合は確認と対策が必要です。

要約した概要
### 脆弱性の概要 この脆弱性は「キャッシュポイズニング」と呼ばれ、セルフホスト環境でNext.jsアプリケーションのPages Routerを使用し、SSG(静的サイト生成)またはISR(増分静的再生成)で生成されたページに影響を与えます。 具体的には、あるページのキャッシュエントリが、意図しない別のルート(URL)から取得されたコンテンツで上書きされてしまう可能性があります。その結果、本来表示されるべきページとは異なる内容がキャッシュから提供され、Webサイトの訪問者全員が誤った情報を見る状態が、キャッシュが再検証されるまで継続します。 ### 影響を受ける条件 * **ホスティング環境:** Vercel以外のセルフホスト環境にデプロイされているNext.jsアプリケーションが対象です。 * **ルーティング方式:** Pages Router を使用している必要があります。 * **データ取得方法:** SSG(静的サイト生成)またはISR(増分静的再生成)でページが生成されている場合に発生します。 * Vercelにデプロイされているアプリケーションは、この脆弱性の影響を受けません。 ### 推奨される対応策 1. まず、お使いのNext.jsアプリケーションが、セルフホスト環境で、Pages RouterとSSG/ISRを組み合わせているかを確認してください。 2. この脆弱性に対処するために、公式で提供されている修正済みバージョンへの速やかなアップグレードを強く推奨します。Next.jsの公式アナウンスを確認し、最新のセキュリティパッチが適用されたバージョンに更新してください。 3. もしすぐにアップグレードが難しい場合でも、根本的な解決にはバージョンアップが不可欠です。一時的な緩和策として、キャッシュの無効化や再検証の頻度を高める設定を検討することもできますが、これは根本的な解決策ではありません。
next>= 15.0.0, < 15.5.27→15.5.27
next>= 16.0.0, < 16.3.8→16.3.8
Advertisement
1 / 81