Apache Struts の遠隔コード実行(CVE-2018-11776)― 条件が二つ揃ったときだけ成立する脆弱性
ウェブアプリケーションの枠組みにおける遠隔コード実行の脆弱性です。特徴は、いつでも成立するのではなく、二つの状況のいずれかで、しかも複数の設定条件が同時に揃ったときにのみ成立するとされている点にあります。
脆弱性の基本情報
- CVE番号CVE-2018-11776
- 対象(ベンダー/製品)Apache Struts
- CWECWE-20
- 悪用状況CISA KEV 掲載(実際の悪用を確認)
- 是正期限2022-05-03(米連邦民生機関・BOD 22-01)
要点
- ウェブアプリケーションの枠組みにおける遠隔コード実行の脆弱性で、二つの状況のいずれかで成立するとされています。
- いずれの状況でも、複数の設定条件が同時に揃っていることが要求され、同じ製品でも設定によって影響の有無が分かれます。
- 条件が明記されていることは、該当するかを判断できる利点と、自分の設定を正確に把握していなければ判断できない負担の両方をもたらします。
- 分類は CWE-20。2026年9月4日時点で当サイトが保持する1,694件のうち146件(8.6%)が同じ分類です。
- 採番は2018年、カタログへの追加は2021年11月3日。採番から3年から5年で載った記録は同じ1,694件のうち292件(17.2%)あります。
1いつでも成立するわけではない
カタログの説明の多くは、何ができてしまうかを短く書いて終わります。この項目は違い、成立する条件を細かく書き分けています。二つの状況が挙げられ、そのそれぞれで、複数の設定が同時に揃っていることが要求されます。裏を返せば、同じ製品を使っていても、設定次第で影響を受けたり受けなかったりするということです。
- 1状況の一つ目特定の選択肢が有効で、結果に値が設定されておらず、上位の名前空間が無いかワイルドカードである
- 2状況の二つ目値と action が設定されていない URL タグを使い、上位の名前空間が無いかワイルドカードである
- 3共通する要素いずれも、上位のパッケージの設定における名前空間の扱いが関わる
- 4帰結同じ製品でも、設定によって影響の有無が分かれる
2設定に依存する脆弱性の、難しいところ
条件が明記されていることは、読み手にとって利点にも負担にもなります。利点は、自分が該当するかを判断できることです。負担は、判断するために自分の設定を正確に把握していなければならないことです。多数のアプリケーションを抱える組織では、どこにどの設定が入っているかを網羅的に把握すること自体が仕事になります。
結果として、条件付きの脆弱性は「該当しないはずだ」という推測のまま放置されやすくなります。
3猶予181日と、その読み方
この項目の猶予も181日です。前の記事と同じく、カタログが始まった日にまとめて登録された層に属します。採番は2018年、登録は2021年で、間は3年。2026年9月4日時点で当サイトが保持する1,694件のうち、採番から3年から5年で載った記録は292件(17.2%)あります。
公表されてすぐに悪用が確認されるものばかりではなく、時間を置いて確認される層が確実に存在します。
4枠組みを使うということ
ウェブアプリケーションの枠組みは、開発の手間を大きく減らします。その代わり、枠組みの内部で何が起きているかは見えにくくなります。設定の一つが、想定していなかった経路を開くことがあるのは、その見えにくさの裏返しです。条件が明記された脆弱性に出会ったときは、条件を読んで自分の設定と突き合わせるところまでを一組の作業と考えるのが安全です。
なぜ重要か
条件付きの脆弱性は、判断の材料が与えられている分だけ、判断する責任も利用者側に移る。該当しないはずだという推測で止めるか、設定を実際に確かめるかで結果が変わる。枠組みを使うことは内部の見えにくさを引き受けることでもあり、条件を読んで自分の構成と突き合わせる作業を省くと、その見えにくさがそのまま危険になる。
よくある質問(FAQ)
条件が揃わなければ安全ですか?
なぜ猶予が181日なのですか?
採番から3年空くのは珍しいですか?
出典(一次情報)
本記事は下記の米国公式データに基づく独自整理です。正確・最新の内容、適用可否は必ず公式・ベンダーでご確認ください。
- CISA KEV Catalog(悪用確認済み一覧)
- NVD(CVE詳細・CVSS)
- This product uses data from the NVD API but is not endorsed or certified by the NVD. KEV データは CC0(パブリックドメイン)です。