CVE-2023-41993とは?Apple WebKitのゼロデイの影響範囲・修正版と対策
CVE-2023-41993は、AppleのブラウザエンジンWebKitに存在した任意コード実行の脆弱性である。結論から言えば、対象はApple製品全般とWebKitを取り込んだ製品で、修正は2023年9月に出そろっている。日本語の解説では「Oracle Javaの脆弱性」として紹介されることがあるが、本体はApple WebKitの不具合であり、Oracle JavaにはJavaFXが同梱するWebKitGTK経由で波及したにすぎない。以下、NVD、Appleの原勧告、CISA KEV、Oracle Critical Patch Update、OpenJDKの脆弱性アドバイザリの原文にあたって、脆弱性の中身・実際に悪用された経緯・修正版・Oracle製品との関係の順に整理する。
まとめ:CVE-2023-41993の要点
- 対象はApple WebKit。Safariおよびアプリ内ブラウザ(WKWebView)でWebコンテンツを処理する際に任意コード実行が起きる。CWE-754。
- NVDのCVSS 3.1基本値は8.8(HIGH)。ベクタは AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H で、悪用にはユーザー操作(UI:R)が必要。
- 修正公開前から悪用されていたゼロデイ。監視ツール企業Intellexaのスパイウェア「Predator」を投下する攻撃チェーンの初段として使われ、CISA KEVに2023年9月25日に登録された。
- Appleの修正版はiOS/iPadOS 16.7、iOS/iPadOS 17.0.1、Safari 16.6.1、macOS Ventura 13.6、macOS Sonoma 14。Linux側はWebKitGTK/WPE WebKit 2.42.1。
- Oracle Java SE 8u401以前・GraalVM Enterprise Edition 20.3.13/21.3.9、およびOpenJFX 17/21/22も影響を受ける。いずれもJavaFXが内部でWebKitGTKを使うためで、修正は2024年4月に出た。
以下、なぜ「Oracle Javaの脆弱性」という説明が流通しているのかも含めて、根拠となる一次情報とともに順に見ていく。
CVE-2023-41993の正体|Apple WebKitの任意コード実行
NVDの説明文は「The issue was addressed with improved checks. This issue is fixed in macOS Sonoma 14. Processing web content may lead to arbitrary code execution.(以下略)」である。WebKitがWebコンテンツを解析・描画する過程で異常な状態のチェックが不十分であり、細工されたページを開かせるだけで攻撃者のコードが動く。分類はCWE-754(異常・例外状態の不適切なチェック)で、Appleは修正内容を「improved checks(チェックの強化)」とだけ記載している。該当バグはWebKit Bugzillaの261544で追跡されている。
影響範囲はSafariにとどまらない。本CVEが公開された2023年当時のiOSでは、アプリ内ブラウザもWKWebView経由でWebKitが描画を担っていたため、Safariを使っていなくても、メールやSNSアプリ内でリンクを開いた時点で同じ経路にさらされた(EU域内では2024年3月のiOS 17.4以降、BrowserEngineKitによる代替エンジンが認められている)。加えてWebKitはLinux向けのWebKitGTK/WPE WebKitとして実装が共有されており、そこから組込み機器やJavaFXのようなGUIフレームワークへ広がっている。CVE識別子と影響製品の対応関係の読み方は脆弱性とは?種類・CVE/CVSSの仕組みと発見から修正までの実務を解説、同じく同梱コンポーネント由来の事例はnode-forge(Forge)の署名検証不備の脆弱性(CVE-2025-12816)とは?ASN.1検証バイパスの技術と対応を解説で扱っている。
深刻度の読み分け|NVDの8.8とOracleの7.5が併存する理由
本CVEには複数のスコアが存在する。NVDが付与した基本値は8.8(HIGH)で、ベクタは AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H。Oracleが2024年4月のCritical Patch Updateで自社製品向けに公表した値は7.5で、攻撃条件の複雑さをAC:High(NVDはAC:Low)と評価している点が違う。スコアは評価主体と評価対象の構成によって変わるため、どちらかが誤りというわけではない。
一方で、本脆弱性を「CVSS 9.8」と紹介する記述が日本語圏に散見されるが、これは誤りである。9.8は AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H のときに出る値であり、本CVEはNVD・OracleともUI:Requiredで一致している。攻撃者が一方的にコードを実行できるわけではなく、細工されたコンテンツを利用者に開かせる工程が必ず挟まる。この差は後述する緩和策の設計に直結する。
攻撃の成立条件|起点は暗号化されていない通信
「ユーザー操作が必要」と聞くと、不審なリンクを踏まなければ安全に思える。しかし実際の攻撃では、標的は正規のサイトを開こうとしただけだった。Citizen Labの報告によれば、標的がVodafone Egyptのモバイル回線からHTTPSを使っていないサイトを閲覧すると、ネットワークインジェクションによって攻撃者のサイトへ静かにリダイレクトされた。Google Threat Analysis Group(TAG)も、httpsで接続していれば通信は暗号化され送信元を検証できると述べている。
つまりUI:Rの「ユーザー操作」は、怪しいファイルを開くような能動的な行為ではなく、単にWebを閲覧する行為で満たされてしまう。裏を返せば、通信のHTTPS化はこの攻撃の成立条件そのものを崩す。攻撃コードがどのように脆弱性を突くかという一般論はexploitとは?脆弱性を悪用する攻撃コードの仕組み・種類・防御を実装者向けに解説で扱っている。
実際の悪用|Predator投下チェーンにおける初段の役割
Appleは勧告に「Apple is aware of a report that this issue may have been actively exploited against versions of iOS before iOS 16.7」と記載した。修正版が出る前から攻撃に使われていた、いわゆるゼロデイである。報告したのはトロント大学ムンクスクールCitizen LabのBill Marczak氏と、Google TAGのMaddie Stone氏。標的は、2024年のエジプト大統領選への出馬を表明していた元国会議員のAhmed Eltantawy氏で、最終的に投下されたのは監視ツール企業Intellexaのスパイウェア「Predator」だった。
注入を行うmiddleboxの設置場所についてCitizen Labは、Telecom EgyptとVodafone Egyptを結ぶ回線上に局在しており、特定の加入者だけを狙う精度から見てVodafone Egypt側のネットワーク内にあると推定している。通信事業者の経路上に機器を置ける立場の攻撃者が想定されている、という点が本件の性格を決めている。
CVE-2023-41991・41992との役割分担
本CVEは単独で完結する攻撃ではなく、同日にAppleが修正した3件の連鎖の入口だった。役割は明確に分かれている。
| CVE | 役割 | コンポーネント | CWE |
|---|---|---|---|
| CVE-2023-41993 | 初段のリモートコード実行 | WebKit | CWE-754 |
| CVE-2023-41991 | 証明書検証の不備による署名検証の回避 | Security | CWE-295 |
| CVE-2023-41992 | ローカル権限昇格 | XNUカーネル | CWE-754 |
WebKitで足場を取り、署名検証を回避して次段のコードを実行し、カーネル権限まで昇格してスパイウェア本体を常駐させる、という構成である。防御側の含意は、WebKit単体の修正を当てればチェーン全体が入口で断たれるということだ。3件のうち最も優先度が高いのは初段の本CVEになる。
CISA KEVの登録日と是正期限
米国CISAは本CVEを「Apple Multiple Products WebKit Code Execution Vulnerability」として2023年9月25日にKnown Exploited Vulnerabilities(KEV)カタログへ追加し、連邦機関向けの是正期限を2023年10月16日に設定した。登録から期限まで21日しかない。ランサムウェア攻撃での使用は「Unknown」と記録されている。
本CVEは2026年7月27日版のKEVカタログにも引き続き収録されている。自社の脆弱性管理でKEV収録の有無を優先度指標に使っている場合、古い端末が残っていれば本CVEは今でも「悪用が確認済み」として最上位の扱いになる。
影響バージョンと修正版|Apple製品とWebKitGTK
修正版は2023年9月に出そろっている。Appleが公開時に本CVEの修正を記載した勧告と、Linux側の実装であるWebKitGTKの対応は次のとおり。
| 製品 | 修正版 | 公開日 |
|---|---|---|
| iOS / iPadOS | 16.7 | 2023-09-21 |
| iOS / iPadOS | 17.0.1 | 2023-09-21 |
| Safari(macOS Big Sur・Monterey向け) | 16.6.1 | 2023-09-21 |
| macOS Ventura(次のh3で注意点を解説) | 13.6 | 2023-09-21 |
| macOS Sonoma | 14 | 2023-09-26 |
| WebKitGTK / WPE WebKit | 2.42.1 | 2023-09-28 |
いずれも表の版以降へ更新すれば本CVEの経路は塞がる。なお同じ2023年9月21日公開のmacOS Monterey 12.7の勧告には本CVEの記載がなく、Monterey利用者向けの修正はSafari 16.6.1として配布された。
NVDだけを見ると取りこぼすmacOS Ventura 13.6
棚卸しで判定を誤りやすいのがmacOS Venturaである。NVDのdescriptionは「This issue is fixed in macOS Sonoma 14.」としか書いておらず、CPEもmacOSは14.0未満を影響対象としている。この情報だけで判定すると、Ventura 13.6を適用済みのMacが「未修正」に分類される。
しかしAppleが2023年9月21日に配信した原勧告APPLE-SA-2023-09-21-6(macOS Ventura 13.6)には、「Available for: macOS Ventura」としてWebKitの節が置かれ、CVE-2023-41993がWebKit Bugzilla 261544とともに明記されている。つまりVentura 13.6の時点で修正は入っていた。ややこしいのはその後で、現在のApple公式ページ(macOS Ventura 13.6のセキュリティコンテンツ)に掲載されているCVEから本CVEの項目は削除されており、公開当初の勧告と現行ページで記載が食い違う。
実務上の判断としては、Ventura 13.6以降を適用済みであれば公開時の勧告どおり対応済みとみなしてよい。ただし現行ページとNVDの双方が本CVEをVenturaに紐づけていないため、脆弱性スキャナがNVDのCPEを参照している場合は検出結果に差が出る。監査で説明を求められる可能性を避けたいなら、Sonoma以降へ更新するのが確実である。業務端末のOS更新をどう判断するかはiOS 26.6とは?変更点3つとセキュリティ修正・業務端末での適用判断を解説の考え方が流用できる。
Linux側の修正版|WebKitGTK / WPE WebKit 2.42.1(WSA-2023-0009)
WebKitGTKプロジェクトは2023年9月28日付のセキュリティ勧告WSA-2023-0009で本CVEを公表し、影響範囲を「WebKitGTK and WPE WebKit before 2.42.1」と定義した。報告者はAppleの勧告と同じくBill Marczak氏とMaddie Stone氏である。ここでもNVDのCPEは2.42.2未満を影響対象としており、ベンダー勧告の2.42.1と1つずれる。バージョン境界の判断はベンダー勧告を正とするのが安全だ。
NVDのCPEにはFedora 37/38/39、Debian 11/12が影響対象として登録されており、ディストリビューション各社も個別に更新を配布している。Linuxデスクトップでwebkit2gtk系パッケージを使うアプリケーション、およびWPE WebKitを載せた組込み機器が対象になる点は、Apple製品だけを見ていると抜け落ちやすい。
Oracle JavaやOpenJFXに本CVEが出てくる理由|JavaFXが同梱するWebKitGTK
ここが本CVEで最も誤解されている部分である。Oracleは2024年4月のCritical Patch Updateで本CVEを掲載しているが、その行を読むと影響コンポーネントは「JavaFX (WebKitGTK)」と書かれている。JavaFXのWebViewはHTMLの描画にWebKitGTK由来の実装を内部に抱えており、そこにAppleのWebKitの不具合が持ち込まれた、という構図だ。Java言語の実行系(JVMやクラスライブラリ)に欠陥があったわけではない。
「Oracle Javaの脆弱性」という紹介が流通しているのは、この構図が二次情報の段階で落ちるためである。ベンダーのパッチ一覧は自社製品名の見出しで公開されるため、Oracle Critical Patch Updateの「Oracle Java SE」の表に本CVEが並ぶ。それを引用する側が製品名だけを見出しに採ると、上流のWebKitという出自が消え、Javaそのものの欠陥に見える。同梱コンポーネント由来のCVEでは繰り返し起きる読み違いだ。
Oracleが公表した内容は次のとおりである。
| 項目 | Oracleの公表値 |
|---|---|
| 対象製品 | Oracle Java SE / GraalVM Enterprise Edition |
| コンポーネント | JavaFX (WebKitGTK) |
| CVSS基本値 | 7.5 |
| 攻撃条件 | AV:N / AC:High / PR:None / UI:Required |
| 影響バージョン | Java SE 8u401、GraalVM EE 20.3.13・21.3.9 |
Oracle Java SE製品として挙がるのが8系だけである理由は、JavaFXがJDK 11以降でJDK本体から分離されたことにある。ただしここで「Java 8以外は無関係」と判断すると取りこぼす。分離後のJavaFXはOpenJFXとして別配布されており、OpenJDK Vulnerability Advisory 2024-04-16のOpenJFXリスクマトリクスでは、本CVEがコンポーネントjavafx/web・CVSS 7.5としてOpenJFX 17・21・22に影響すると記載されている。JDK 17やJDK 21で動くデスクトップアプリでも、別途OpenJFXを組み込んでWebViewを使っていれば対象になる。対応版は同アドバイザリと同時に公開されたOpenJFX 17.0.11・21.0.3(いずれも2024年4月16日)と22.0.1(2024年4月17日)である。
Oracleの対応はApple公開の約7か月後
Appleが修正を公開したのは2023年9月21日、OracleがCritical Patch Updateに本CVEを載せたのは2024年4月である。2024年1月のCritical Patch Updateを確認しても本CVEの記載はなく、Oracleは4月まで本CVEを扱っていない。上流のWebKitで修正されてから、それを取り込む下流製品に届くまでに約7か月の開きがあったことになる。
この時間差は、外部コンポーネントを同梱する製品を運用する側が構造的に抱えるリスクを示している。上流のCVEが公開されても、同梱製品のベンダーが定期パッチサイクルに載せるまでは公式の修正が存在しない。ベンダーの定期リリース日程を把握しておかないと、「上流は直っているのに自社の製品には来ない」期間を見誤る。依存コンポーネント経由の脆弱性については、OSV-Scannerとは?Google製OSS脆弱性スキャナの使い方とTrivyとの違いで紹介しているように、依存関係ファイルやSBOMからCVE番号単位で突き合わせる仕組みを用意しておきたい。
自社のJava環境が該当するかの確認手順
該当判定は「JavaFXまたはOpenJFXのWebViewを使っているか」を軸に行う。Java SEのバージョンだけでは判定できない。まず実行系の版を確認し、次にJavaFXのWebKitネイティブライブラリが存在するかを見る。
java -version 2>&1
find "$JAVA_HOME" -name "javafx.properties" -o -name "*jfxwebkit*"
java -versionの出力は標準エラーへ出るため、パイプで加工する場合は2>&1を付ける。JAVA_HOMEが未設定だと空文字列がパスとして渡りNo such file or directoryで失敗するので、macOSなら/usr/libexec/java_home -v 1.8などで先に解決しておく。探すネイティブライブラリ名はOSで異なり、Linuxはlibjfxwebkit.so、macOSはlibjfxwebkit.dylib、Windowsはjfxwebkit.dllになる。JDK 11以降でOpenJFXを別途組み込んでいる場合は、JAVA_HOMEではなくアプリケーションが参照するOpenJFXの配置先を対象に同じ検索をかける。
該当したのはOracle Java SE 8u401以前、GraalVM EE 20.3.13/21.3.9、OpenJFX 17/21/22のいずれかで、かつアプリケーションがWebViewでHTMLを描画している環境である。WebViewを使っていないなら本CVEの実害はない。判定結果は棚卸し表に「非該当の根拠」として残しておくと、次回以降の監査で再調査せずに済む。
いま取るべき対策と残存リスク|更新の優先順位と更新できない端末の措置
最優先はApple製品の更新である。実際に悪用された経路であり、KEVにも収録されている。iOS/iPadOSは16.7または17.0.1以降、macOSはVentura 13.6以降またはSonoma 14以降、Big Sur・MontereyのMacはSafari 16.6.1以降へ。Linuxはディストリビューションが配布するWebKitGTK/WPE WebKit 2.42.1以降のパッケージを適用する。JavaFXまたはOpenJFXのWebViewを使っている場合のみ、2024年4月16日のCritical Patch Update以降のOracle Java SE、もしくはOpenJFX 17.0.11・21.0.3・22.0.1以降を適用する。
更新できない端末・組込みWebViewで効く措置
検証環境の都合や機器のライフサイクルで即時更新できない場合、この攻撃に限っては通信経路側の措置が実効的に効く。最も効くのは、参照先を含めた通信のHTTPS化とHSTSの適用である。Citizen LabとGoogle TAGがそろって示したとおり、実際の攻撃はHTTPSを使っていないサイトへのアクセスを起点にしていた。次点は、社内ネットワークからの平文HTTP通信そのものを遮断する構成だ。端末側のHTTPS強制設定は、更新が止まった古い端末ほど利用できないため、ここでは当てにしない。
これは根本修正の代わりにはならない。脆弱性自体は端末に残るため、攻撃者が別の経路で細工されたコンテンツを開かせられれば成立する。あくまで更新までの時間を稼ぐ措置として位置づけ、期限を切って更新計画に落とすべきである。逆に、更新を先送りしたまま経路側の措置を恒久対策として扱う運用は取るべきではない。公衆Wi-Fiや通信事業者レベルの攻撃者を想定する場面では、経路の信頼を前提にした緩和策の効果が保証されないからだ。
更新が止まった端末・組込み機器に残るリスクと棚卸しの観点
2023年9月の公開から約2年10か月が経過し(2026年7月時点)、通常更新されているApple製品では既に解消済みである。それでも本CVEを棚卸し対象から外せないのは、更新が止まった端末と、コンポーネントを同梱したまま更新されないシステムが残るためだ。具体的には、iOS 16.7未満で更新が止まった予備端末やキオスク端末、WPE WebKitを載せたまま出荷後に更新されない組込み機器、JavaFX同梱のJava 8で動き続けるデスクトップアプリケーションが該当する。
棚卸しでは、OSバージョンの分布だけでなく「そのOSがまだ更新を受け取れるか」を併せて確認したい。端末のサポート期限の考え方はiOS 18はいつまで使える?サポート終了の目安と最新アップデート(18.7.9)・対応機種を解説で整理している。
よくある質問
CVE-2023-41993はOracle Javaの脆弱性ですか?
いいえ。本体はApple WebKitの脆弱性である。Oracle Java SEに影響が及ぶのは、JavaFXが内部でWebKitGTKを使っているためで、Oracle自身も影響コンポーネントを「JavaFX (WebKitGTK)」と明記している。Javaの実行系そのものの欠陥ではない。
CVSSスコアは9.8ではないのですか?
9.8ではない。NVDが付与した基本値は8.8で、Oracleが自社製品向けに公表した値は7.5である。いずれもUI:Required(ユーザー操作が必要)で一致しており、9.8となるUI:Noneの条件には当てはまらない。
Safariを使っていなければ影響を受けませんか?
影響を受ける可能性がある。本CVE公開当時のiOSではアプリ内ブラウザ(WKWebView)もWebKitで描画されていたため、他社製ブラウザやアプリ内でリンクを開いた場合も同じエンジンを通っていた。Linux側でもWebKitGTK/WPE WebKitを使うアプリケーションが対象になる。
macOS Ventura 13.6は修正済みと判断してよいですか?
公開時の原勧告APPLE-SA-2023-09-21-6にWebKitの節として明記されているため、13.6の時点で修正済みと判断してよい。ただしNVD基準のスキャナでは未修正と出ることがある(理由は本文の該当セクションを参照)。
2026年の今も対応が必要ですか?
通常更新されている端末では対応済みで、新たな作業は不要である。対応が必要なのは、iOS 16.7未満で更新が止まった端末、更新されない組込み機器、JavaFX/OpenJFXのWebViewを使うアプリケーションが残っている場合。CISA KEVには継続収録されているため、KEV収録を優先度指標にしている運用では今でも最上位で扱われる。