情報取得日: 2026/08/18/最終確認: 2026/09/12・本ページは公開情報の非公式まとめです
| CVE ID | CVE-2026-73373 |
|---|---|
| 製品 | Joomla / Joomla! Core。NVD の該当範囲は 1.0.0 以上 5.4.8 未満、および 6.0.0 以上 6.1.3 未満(アドバイザリの表記は 1.0.0-5.4.7 / 6.0.0-6.1.2)。修正版は 5.4.8 と 6.1.3 |
| CVSS | 9.8(Critical) CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| 種別 (CWE) | CWE-434 危険な種類のファイルの無制限アップロード |
| 登録/公開日 | 2026/08/18 |
| 出典 | https://nvd.nist.gov/vuln/detail/CVE-2026-73373 |
Joomla! Core の**危険なファイル拡張子の既定リストに SHTML が含まれていなかった**。アドバイザリ 20260810 の記述は「The default list of dangerous files did not include SHTML files. On servers that executed these files, that could lead to code execution.」であり、**SHTML を実行する設定のサーバでは、アップロードからコード実行に至りうる**という条件付きの欠陥である。 **SHTML は Server Side Includes(SSI)のファイルである。** Apache の `mod_include` が有効で、かつ `Options +Includes`(または `+IncludesNOEXEC`)と `AddOutputFilter INCLUDES .shtml` のような設定が効いている環境では、`.shtml` の中に書かれた `<!--#include -->` や `<!--#exec -->` が**サーバ側で解釈される**。`#exec` が許されている構成なら、これはそのまま任意コマンド実行になる。つまり**この CVE の実害は Web サーバ側の設定に依存する**。`mod_include` を有効にしていない一般的な LAMP 構成や、nginx + PHP-FPM の構成では SSI は解釈されないため、アップロードされた `.shtml` は静的ファイルとして返るだけである。 **CVSS 3.1 基本値は 9.8**(AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)で、NVD が Primary として付けた値である。**この 9.8 は「SHTML を実行するサーバ」という前提を織り込んでいない最悪値**として読むべきである。実環境での深刻度は、まず自分のサーバが SSI を有効にしているかで大きく変わる。ただし **PR:N(事前の権限不要)** が付いている点は軽く見ないほうがよい。Joomla ではメディアマネージャのアップロードに権限が要るが、フォーム系の拡張機能や投稿機能で未認証アップロードを許している構成は珍しくなく、その経路では権限なしで到達しうる。 **該当範囲が Joomla 1.0.0 からという点が特徴である。** これは「この判定漏れが長期にわたって存在していた」ことを意味し、古い版を動かし続けているサイトはすべて対象になる。 一次情報は Joomla の Security Centre のアドバイザリ **[20260810] Core - Unrestricted uploads of SHTML files** である。**KEV には 2026-09-12 時点で収載されていない**(CISA KEV カタログ 2026.09.11 で確認)。
各ベンダー公式アドバイザリで確認できた事実に基づき整理しています。確認できていない項目は「情報確認中」と明記し、存在しないパッチ番号・バージョンは記載しません。
| 環境 | 対応状況 | 対応方法・備考 |
|---|---|---|
| AWS (ECS/EC2) | パッチあり(アプリ更新) |
AWS 上(EC2 / Lightsail / ECS / Elastic Beanstalk 等)で自運用している Joomla を **5.4.8 以降または 6.1.3 以降**へ更新する。AWS 側の対応で直るものではない。
Lightsail の Joomla ブループリント(Bitnami)で立てた環境は Apache 構成で、`mod_include` の有効状態をイメージごとに確認する必要がある。ALB / CloudFront を前段に置いている場合は、暫定策として `*.shtml` へのリクエストを WAF ルールで遮断できる。S3 を静的配信に使っている構成では S3 は SSI を解釈しないため、その経路でのコード実行は成立しない。EFS をアップロード先として複数インスタンスで共有している場合は、1台で見つけた不審ファイルが全台から提供される点に注意する。
参照リンク
|
| GCP | パッチあり(アプリ更新) |
Compute Engine / GKE / Cloud Run 上で運用している Joomla を **5.4.8 以降または 6.1.3 以降**へ更新する。プラットフォーム側の修正では直らない。
Cloud Armor で `.shtml` を含むパスへのリクエストを遮断するルールを暫定適用できる。Cloud Storage を配信に使っている構成では SSI は解釈されない。GKE では Deployment のイメージを差し替えるまで旧版の Pod が動き続けるため、ローリング更新の完了を `kubectl rollout status` で確認する。Cloud Logging のアクセスログで `.shtml` への 200 応答を検索すると、既に置かれたファイルへの到達を洗い出せる。
参照リンク
|
| Azure | パッチあり(アプリ更新) |
Azure VM / AKS / App Service 上で運用している Joomla を **5.4.8 以降または 6.1.3 以降**へ更新する。
App Service on Linux の PHP ランタイムは nginx ベースで SSI を有効にしていないため、任意コード実行の経路は成立しにくい。ただし危険拡張子リストの不足自体は塞ぐべきなので更新は行う。Application Gateway / Front Door の WAF で `*.shtml` を遮断するルールを暫定で入れられる。Defender for Cloud のファイル整合性監視があれば、アップロードディレクトリ配下の新規ファイルを検出できる。
参照リンク
|
| Linux | パッチあり(アプリ更新) |
**ディストリのパッケージ更新では直らない。** Joomla は Debian / Ubuntu / RHEL の公式リポジトリで提供されていないため、Joomla 本体の更新(管理画面の Joomla 更新、または配布アーカイブの適用)で **5.4.8 以降 / 6.1.3 以降**へ上げる。
あわせて Web サーバ側で SSI を止めることが実効的な緩和になる。Apache なら `a2dismod include`(Debian 系)または設定から `AddOutputFilter INCLUDES` と `Options +Includes` を外す。適用後は `libraries/src/Version.php` の版数と、アップロードディレクトリ配下の `*.shtml` の有無を実ファイルで確認する。Ubuntu USN / Red Hat RHSA / Debian security tracker に本 CVE の項目は期待できず、2026-09-12 時点でも確認できていない。
参照リンク
|
**修正版は 5.4.8 と 6.1.3 である。** NVD の CPE は 5.4.8 未満と 6.1.3 未満を該当としているので、**5.x 系なら 5.4.8 以降、6.x 系なら 6.1.3 以降**へ上げる。Joomla の管理画面(システム → 更新 → Joomla の更新)からワンクリックで上げられるが、テンプレートと拡張機能の互換性があるため、メジャーを跨ぐ更新(5→6)はこの CVE の対応としては不要である。**自分の系列の最新パッチ版に上げるのが最短の対応である。** **上げる前に、自分のサーバが SHTML を実行するかを確認する。** これで緊急度が変わる。Apache なら次の2点を見る。(1) `mod_include` が読み込まれているか(`apachectl -M | grep include`)。(2) `.shtml` に対する出力フィルタが設定されているか(`grep -R "INCLUDES\|Includes" /etc/apache2/ /etc/httpd/`)。**どちらも無ければ、この CVE で任意コード実行に至る経路は成立しない**(それでも危険拡張子リストの不足そのものは塞ぐべきなので更新は行う)。nginx の場合は `ssi on;` が設定されていないかを見る。 **すぐに上げられない場合の暫定策は、サーバ側で `.shtml` の実行と提供を止めることである。** Apache なら Joomla のアップロード先(既定は `images/`)に対して `Options -Includes` を明示し、`<FilesMatch "\.shtml$">` で `Require all denied` を置く。nginx なら `location ~ \.shtml$ { return 403; }` を入れる。**Joomla 側の設定でメディアマネージャの許可拡張子から shtml を外すだけでは足りない**場合がある。判定漏れは「危険リスト」側にあり、許可リストを使っていない経路(拡張機能のアップロード処理)が残るからである。 **更新後はアップロード先を実際に確認する。** `images/` 配下と、拡張機能が使うアップロードディレクトリを対象に、`find . -name '*.shtml'` で身に覚えのないファイルを探す。見つかった場合は中身の `<!--#exec` / `<!--#include` を確認し、アクセスログで当該 URL への到達があったかを突き合わせる。**到達があったなら、コード実行を前提に管理者アカウント・拡張機能の追加・データベース内容の点検まで広げる。** **版の確認は管理画面の表示だけに頼らないほうがよい。** `libraries/src/Version.php` の定数(`MAJOR_VERSION` / `MINOR_VERSION` / `PATCH_VERSION`)を直接見れば、更新が実ファイルに届いているかを確かめられる。
Critical(CVSS 9.8)に分類されるJoomla Joomla! Core。NVD の該当範囲は 1.0.0 以上 5.4.8 未満、および 6.0.0 以上 6.1.3 未満(アドバイザリの表記は 1.0.0-5.4.7 / 6.0.0-6.1.2)。修正版は 5.4.8 と 6.1.3の脆弱性です。Joomla! Core の**危険なファイル拡張子の既定リストに SHTML が含まれていなかった**。アドバイザリ 20260810 の記述は「The default list of dangerous files did not include SHTML files. On servers that executed these files, that could lead to code execution.」であり、**SHTML を実行する設定のサーバでは、アップロードからコード実行に至りうる**という条件付きの欠陥である。 **SHTML は Server Side Includes(SSI)のファイルである。** Apache の `mod_include` が有効で、かつ `Options +Includes`(または `+IncludesNOEXEC`)と `AddOutputFilter INCLUDES .shtml` のような設定が効いている環境では、`.shtml` の中に書かれた `<!--#include -->` や `<!--#exec -->` が**サーバ側で解釈される**。`#exec` が許されている構成なら、これはそのまま任意コマンド実行になる。つまり**この CVE の実害は Web サーバ側の設定に依存する**。`mod_include` を有効にしていない一般的な LAMP 構成や、nginx + PHP-FPM の構成では SSI は解釈されないため、アップロードされた `.shtml` は静的ファイルとして返るだけである。 **CVSS 3.1 基本値は 9.8**(AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)で、NVD が Primary として付けた値である。**この 9.8 は「SHTML を実行するサーバ」という前提を織り込んでいない最悪値**として読むべきである。実環境での深刻度は、まず自分のサーバが SSI を有効にしているかで大きく変わる。ただし **PR:N(事前の権限不要)** が付いている点は軽く見ないほうがよい。Joomla ではメディアマネージャのアップロードに権限が要るが、フォーム系の拡張機能や投稿機能で未認証アップロードを許している構成は珍しくなく、その経路では権限なしで到達しうる。 **該当範囲が Joomla 1.0.0 からという点が特徴である。** これは「この判定漏れが長期にわたって存在していた」ことを意味し、古い版を動かし続けているサイトはすべて対象になる。 一次情報は Joomla の Security Centre のアドバイザリ **[20260810] Core - Unrestricted uploads of SHTML files** である。**KEV には 2026-09-12 時点で収載されていない**(CISA KEV カタログ 2026.09.11 で確認)。
**修正版は 5.4.8 と 6.1.3 である。** NVD の CPE は 5.4.8 未満と 6.1.3 未満を該当としているので、**5.x 系なら 5.4.8 以降、6.x 系なら 6.1.3 以降**へ上げる。Joomla の管理画面(システム → 更新 → Joomla の更新)からワンクリックで上げられるが、テンプレートと拡張機能の互換性があるため、メジャーを跨ぐ更新(5→6)はこの CVE の対応としては不要である。**自分の系列の最新パッチ版に上げるのが最短の対応である。** **上げる前に、自分のサーバが SHTML を実行するかを確認する。** これで緊急度が変わる。Apache なら次の2点を見る。(1) `mod_include` が読み込まれているか(`apachectl -M | grep include`)。(2) `.shtml` に対する出力フィルタが設定されているか(`grep -R "INCLUDES\|Includes" /etc/apache2/ /etc/httpd/`)。**どちらも無ければ、この CVE で任意コード実行に至る経路は成立しない**(それでも危険拡張子リストの不足そのものは塞ぐべきなので更新は行う)。nginx の場合は `ssi on;` が設定されていないかを見る。 **すぐに上げられない場合の暫定策は、サーバ側で `.shtml` の実行と提供を止めることである。** Apache なら Joomla のアップロード先(既定は `images/`)に対して `Options -Includes` を明示し、`<FilesMatch "\.shtml$">` で `Require all denied` を置く。nginx なら `location ~ \.shtml$ { return 403; }` を入れる。**Joomla 側の設定でメディアマネージャの許可拡張子から shtml を外すだけでは足りない**場合がある。判定漏れは「危険リスト」側にあり、許可リストを使っていない経路(拡張機能のアップロード処理)が残るからである。 **更新後はアップロード先を実際に確認する。** `images/` 配下と、拡張機能が使うアップロードディレクトリを対象に、`find . -name '*.shtml'` で身に覚えのないファイルを探す。見つかった場合は中身の `<!--#exec` / `<!--#include` を確認し、アクセスログで当該 URL への到達があったかを突き合わせる。**到達があったなら、コード実行を前提に管理者アカウント・拡張機能の追加・データベース内容の点検まで広げる。** **版の確認は管理画面の表示だけに頼らないほうがよい。** `libraries/src/Version.php` の定数(`MAJOR_VERSION` / `MINOR_VERSION` / `PATCH_VERSION`)を直接見れば、更新が実ファイルに届いているかを確かめられる。
Joomla Joomla! Core。NVD の該当範囲は 1.0.0 以上 5.4.8 未満、および 6.0.0 以上 6.1.3 未満(アドバイザリの表記は 1.0.0-5.4.7 / 6.0.0-6.1.2)。修正版は 5.4.8 と 6.1.3 を利用している場合、稼働バージョンが影響範囲に含まれるかを一次情報(https://nvd.nist.gov/vuln/detail/CVE-2026-73373)で確認してください。AWS・GCP・Azure・Linux それぞれの対応状況は本ページの「クラウド/OS 別の対応状況」表にまとめています。確認できていない項目は「情報確認中」と明記しており、存在しないパッチ番号・バージョンは記載していません。
本ページの記載は下記の一次情報に基づく非公式まとめです。数値・対応状況は各出典元で最終確認してください(最終確認: 2026/09/12)。