情報取得日: 2026/07/27/最終確認: 2026/08/15・本ページは公開情報の非公式まとめです
| CVE ID | CVE-2026-45623 |
|---|---|
| 製品 | PostCSS / postcss |
| CVSS | 9.1(Critical) CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H |
| 種別 (CWE) | CWE-22 パストラバーサル / CWE-200 情報漏えい |
| 登録/公開日 | 2026/07/27 |
| 出典 | https://nvd.nist.gov/vuln/detail/CVE-2026-45623 |
CSS を解析・変換する npm パッケージ PostCSS の 8.5.11 以下に、入力 CSS からローカルファイルを参照させられる欠陥がある。PreviousMap が CSS 文字列中の sourceMappingURL コメントを解析し、そのパスをスキームの検査も許可リストも traversal の検査もせずローカルファイルシステム上で解決してしまう。その結果、CSS の内容を制御できる攻撃者は Node プロセスが読める任意のファイルを読ませ、JSON.parse が投げる SyntaxError のメッセージ経由で先頭の 10 バイト程度を漏えいさせられる。加えてファイルの存在判定や読み取り対象の制御にも使え、巨大ファイルを狙えばサービス妨害にもつながる。この挙動は from も map も plugins も指定しない既定のオプションで発生するため、信頼できない CSS を PostCSS に通すあらゆる経路(CMS のテーマ、利用者がアップロードしたスタイル、第三者パッケージのビルド等)が対象になる。修正版は 8.5.12。CVSS は評価元で割れており、NVD(Primary)は 9.1 Critical(CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H)、CNA の GitHub(Secondary)は 7.5 High(同じ前半で A:N)で、可用性への影響を数えるかどうかの差である。CISA KEV には未収載。NVD の vulnStatus は Analyzed。
各ベンダー公式アドバイザリで確認できた事実に基づき整理しています。確認できていない項目は「情報確認中」と明記し、存在しないパッチ番号・バージョンは記載しません。
| 環境 | 対応状況 | 対応方法・備考 |
|---|---|---|
| AWS (ECS/EC2) | パッチあり(アプリ更新) |
CodeBuild / ECS / EKS / Lambda で使うアプリの postcss を 8.5.12 以降へ更新する(推移的依存なら overrides で固定)
AWS 側の欠陥ではなく取り込んだ npm 依存の問題。ビルド用イメージに焼き込んだ node_modules と、CodeBuild の依存キャッシュが古い版を再利用しないかを確認する。外部由来の CSS を処理する機能を持つアプリを優先する。
参照リンク
|
| GCP | パッチあり(アプリ更新) |
Cloud Build / GKE / Cloud Run で使うアプリの postcss を 8.5.12 以降へ更新する
Cloud Build のビルダーイメージやキャッシュに古い postcss が残りやすい。ビルド時に読める資格情報ファイルを最小化しておくと、万一読み取られた場合の影響を抑えられる。
参照リンク
|
| Azure | パッチあり(アプリ更新) |
Azure Pipelines / AKS / App Service で使うアプリの postcss を 8.5.12 以降へ更新する
パイプラインのキャッシュタスクが古いロックファイル基準の node_modules を復元することがあるため、ロックファイルの更新とキャッシュキーの変更を合わせて行う。
参照リンク
|
| Linux | パッチあり(アプリ更新) |
npm / pnpm / yarn で postcss を 8.5.12 以降へ更新する(overrides や resolutions で推移的依存も固定)
ディストリのパッケージではなく npm 依存なので OS 更新では直らない。更新できない期間は、信頼できない CSS を process() に渡さない、あるいは渡す前に sourceMappingURL コメントを除去するという形で発火条件を消す。
参照リンク
|
まず版の確認で、npm ls postcss やロックファイルの postcss の版を見て 8.5.12 未満なら該当である。ここで見落としやすいのは、postcss を直接依存に書いている環境がむしろ少ないという点で、CSS フレームワークやビルドツールの依存として推移的に入っていることが多いため、package.json ではなくロックファイル全体を検索する必要がある。次に、該当したうえで実際にリスクがあるかを切り分ける。自分たちが書いた CSS だけを通しているビルドと、外部由来の CSS を通している経路では危険度が違う。利用者がアップロードしたスタイルやテーマ、第三者から取り込んだパッケージの CSS、外部入力を含む文字列を process() に渡している箇所を洗い出し、そこが実質的な優先対象になる。すぐ更新できない場合は経路を閉じる。推移的依存で直接上げられないなら npm の overrides や yarn の resolutions で 8.5.12 以上に固定するのが実務的で、それも難しい間は、信頼できない CSS を PostCSS に渡す処理を止めるか、渡す前に sourceMappingURL コメントを取り除いて発火条件をなくす。ビルドを実行するプロセスの権限を絞り、資格情報のファイルをビルドコンテナに置かないようにしておくと、読み取られた場合の被害も小さくできる。完了条件は、すべてのロックファイルで postcss が 8.5.12 以上に揃っていること、そして外部由来の CSS を処理している経路が特定できていて、そこが更新済みであることの確認である。KEV 未収載で悪用の報告も参照には無いため、緊急の切り戻しよりも次の定期更新で確実に揃えるという扱いでよい。
Critical(CVSS 9.1)に分類されるPostCSS postcssの脆弱性です。CSS を解析・変換する npm パッケージ PostCSS の 8.5.11 以下に、入力 CSS からローカルファイルを参照させられる欠陥がある。PreviousMap が CSS 文字列中の sourceMappingURL コメントを解析し、そのパスをスキームの検査も許可リストも traversal の検査もせずローカルファイルシステム上で解決してしまう。その結果、CSS の内容を制御できる攻撃者は Node プロセスが読める任意のファイルを読ませ、JSON.parse が投げる SyntaxError のメッセージ経由で先頭の 10 バイト程度を漏えいさせられる。加えてファイルの存在判定や読み取り対象の制御にも使え、巨大ファイルを狙えばサービス妨害にもつながる。この挙動は from も map も plugins も指定しない既定のオプションで発生するため、信頼できない CSS を PostCSS に通すあらゆる経路(CMS のテーマ、利用者がアップロードしたスタイル、第三者パッケージのビルド等)が対象になる。修正版は 8.5.12。CVSS は評価元で割れており、NVD(Primary)は 9.1 Critical(CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H)、CNA の GitHub(Secondary)は 7.5 High(同じ前半で A:N)で、可用性への影響を数えるかどうかの差である。CISA KEV には未収載。NVD の vulnStatus は Analyzed。
まず版の確認で、npm ls postcss やロックファイルの postcss の版を見て 8.5.12 未満なら該当である。ここで見落としやすいのは、postcss を直接依存に書いている環境がむしろ少ないという点で、CSS フレームワークやビルドツールの依存として推移的に入っていることが多いため、package.json ではなくロックファイル全体を検索する必要がある。次に、該当したうえで実際にリスクがあるかを切り分ける。自分たちが書いた CSS だけを通しているビルドと、外部由来の CSS を通している経路では危険度が違う。利用者がアップロードしたスタイルやテーマ、第三者から取り込んだパッケージの CSS、外部入力を含む文字列を process() に渡している箇所を洗い出し、そこが実質的な優先対象になる。すぐ更新できない場合は経路を閉じる。推移的依存で直接上げられないなら npm の overrides や yarn の resolutions で 8.5.12 以上に固定するのが実務的で、それも難しい間は、信頼できない CSS を PostCSS に渡す処理を止めるか、渡す前に sourceMappingURL コメントを取り除いて発火条件をなくす。ビルドを実行するプロセスの権限を絞り、資格情報のファイルをビルドコンテナに置かないようにしておくと、読み取られた場合の被害も小さくできる。完了条件は、すべてのロックファイルで postcss が 8.5.12 以上に揃っていること、そして外部由来の CSS を処理している経路が特定できていて、そこが更新済みであることの確認である。KEV 未収載で悪用の報告も参照には無いため、緊急の切り戻しよりも次の定期更新で確実に揃えるという扱いでよい。
PostCSS postcss を利用している場合、稼働バージョンが影響範囲に含まれるかを一次情報(https://nvd.nist.gov/vuln/detail/CVE-2026-45623)で確認してください。AWS・GCP・Azure・Linux それぞれの対応状況は本ページの「クラウド/OS 別の対応状況」表にまとめています。確認できていない項目は「情報確認中」と明記しており、存在しないパッチ番号・バージョンは記載していません。
本ページの記載は下記の一次情報に基づく非公式まとめです。数値・対応状況は各出典元で最終確認してください(最終確認: 2026/08/15)。