フォントを読み込むだけで任意コード実行できそうな脆弱性
文脈:CSP font-srcの厳格な制限は解除してはいけない
Cosenseのコードを対象にCodex CLI.iconと議論した
そもそもCSP img-srcが全開放されているのだからCSP font-srcも解放していいんじゃないか?
と思って、Codex CLI.iconにChatGPT.icon用のプロンプトを作ってもらって調べたshokai.icon
https://chatgpt.com/c/6960f0d3-1dbc-8323-a42e-b34d559b7ae6
code:prompt
あなたはセキュリティ調査担当です。CSPのfont-srcを無制限にした場合のリスク説明のために、フォントパーサ脆弱性の具体例を時系列で整理してください。
要件:
- 対象: ブラウザ/OSのフォント解析(GDI/DirectWrite/CoreText/FreeType/ブラウザ内フォント処理など)
- 形式: リスト(年→CVE→影響→影響範囲→簡潔な説明→参照元URL)
- 範囲: できるだけ主要な事例(Windows/macOS/iOS/Android/Linux/Chrome/Firefox/Safari)
- 目的: font-srcを無制限にしたときに、攻撃者が細工フォントを配布できるリスクの根拠として使える情報
- 注意: 画像系の脆弱性ではなく「フォントパーサ」に限定する
- 参照: 一次情報(CVE, 公式アドバイザリ, ベンダーセキュリティノート)を優先
最後に「CSPでfont-srcを制限することがなぜこのリスクを下げるか」を2〜3文でまとめてください。
この末尾の行余計だったな。バイアスかかるshokai.icon
さらに別sessionで内容と参照先URLが食い違ってないか確認
https://chatgpt.com/c/69621ac3-3e50-8324-8414-0b2b7a7b6783
code:prompt
概要説明と参照先URLに書かれている内容が一致していないものを、チェックしたい。
上から1項目件ずつ概要を読み、URLの先のページを読んで、1つずつ私に内容を説明して確認を取りながら作業してください
2011年 CVE-2011-3402
影響: RCE
影響範囲: Windows(win32k.sys の TrueType解析)
TrueTypeフォント解析エンジンの不具合により、細工フォントを含む Word 文書や Web ページ経由でリモートコード実行が成立し得る(当時 “Duqu” で悪用報告あり)。
https://nvd.nist.gov/vuln/detail/CVE-2011-3402
2015年 CVE-2015-2426
影響: RCE
影響範囲: Windows(Microsoft フォントドライバー / OpenType処理)
「OpenTypeフォントが埋め込まれた信頼されていない Web ページにアクセス」するだけで RCE になり得る、と明記されているタイプの事例。CSPで font-src を緩めるリスク説明に直結。
https://nvd.nist.gov/vuln/detail/CVE-2015-2426
2016年 CVE-2016-2414
影響: DoS(再起動ループ等)
影響範囲: Android(Minikin)
Android の Minikin ライブラリで、“untrusted font(信頼されないフォント)” を読み込ませることでオーバーフロー→クラッシュ→再起動ループにつながり得る、と公式バレットンが説明。
https://source.android.com/docs/security/bulletin/2016-04-02
2016年 CVE-2016-7595
影響: メモリ破壊(クラッシュ/コード実行の可能性)
影響範囲: Apple(CoreText)
CoreText の処理に起因するメモリ破壊系。Safari/WebKit を含む Apple プラットフォームでフォント処理が広く使われるため、「配布フォント→OSのフォント処理」という経路の根拠にできる。
https://support.apple.com/ja-jp/103636
https://nvd.nist.gov/vuln/detail/CVE-2016-7595
2019年 CVE-2019-1456
影響: RCE
影響範囲: Windows(Windows Adobe Type Manager Library / atmfd)
Windows の Adobe Type Manager Library が 細工されたOpenType フォントを不適切に処理し RCE となり得る(CVEレコード自体が “OpenType Font Parsing RCE” として説明)
https://www.cve.org/CVERecord?id=CVE-2019-1456
https://nvd.nist.gov/vuln/detail/CVE-2019-1456
2020年 CVE-2020-1020
影響: RCE(悪用報告あり)
影響範囲: Windows(Adobe Type Manager / Type 1 フォント処理)
atmfd(Adobe Type Manager)における Type 1 フォント解析由来の脆弱性で、未認証リモート攻撃者が RCE 可能とされ、悪用(in the wild)も言及。
https://kb.cert.org/vuls/id/354840/
https://nvd.nist.gov/vuln/detail/CVE-2020-1020
2020年 CVE-2020-15999
影響: RCE(悪用報告あり)
影響範囲: FreeType(Chrome/Firefox/Android/Linux 等で広く利用)
FreeType のヒープバッファオーバーフローで、Chrome の安定版更新情報で修正・悪用が示唆される形で扱われた有名事例。Linux/Android/ChromeOS など「OS/アプリが FreeType を使う環境」では、Web配布フォントが直接トリガになり得る。
https://chromereleases.googleblog.com/2020/10/stable-channel-update-for-desktop_20.html
https://www.mozilla.org/en-US/security/advisories/mfsa2020-52/
https://nvd.nist.gov/vuln/detail/CVE-2020-15999
2024年 CVE-2024-44240
影響: 情報漏えい(メモリリーク)
影響範囲: Apple(CoreText)
CoreText のメモリリークにより、悪意あるアプリが機微情報を漏えいさせ得る(Appleのセキュリティコンテンツに記載)。「細工フォント→CoreText」という経路の近年例として使える。
https://support.apple.com/en-us/121563
2024年 CVE-2024-56732
影響: buffer overflow
影響範囲: HarfBuzz(Linux/Android/ブラウザ等のフォント処理スタックで普及)
HarfBuzzの境界外読み取り。フォントの shaping/レイアウト処理も入力(フォントテーブル)を解析するため、「フォント処理由来のクラッシュ/情報漏えい」系の根拠になる。
https://github.com/harfbuzz/harfbuzz/security/advisories/GHSA-qmp9-xqm5-jh6m
2025年 CVE-2025-23022
影響: Integer Overflow(主にDoS/クラッシュ)
影響範囲: FreeType
FreeType の整数オーバーフロー系。RCEに直結しないケースでも、“外部から供給されるフォントデータでプロセスを落とせる”のは攻撃面として重要。
https://nvd.nist.gov/vuln/detail/CVE-2025-23022
https://nvd.nist.gov/vuln/detail/CVE-2025-23022
2025年 CVE-2025-27363
影響: OOB Write(コード実行の可能性)
影響範囲: FreeType(多OS・多ブラウザ/アプリ)
FreeType の境界外書き込みで、影響範囲が広いタイプ。font-src を無制限にすると「攻撃者管理ドメインから悪性フォント配布」→「FreeType が解釈」の成立可能性を説明しやすい。
https://github.com/advisories/GHSA-g8qj-jv5h-78cp
https://nvd.nist.gov/vuln/detail/CVE-2025-27363
2025年 CVE-2025-43400
影響: OOB Write(メモリ破壊)
影響範囲: Apple iPhone, iPad, Apple TVのFontParser
Apple の FontParser における境界外書き込み。OS側のフォント処理は Safari/WebKit やアプリ描画系にも波及し得るため、「Web配布フォントを OS がパースする」説明に使える。
https://support.apple.com/en-us/125326
https://support.apple.com/en-us/125637
まとめ: なぜCSP font-srcを制限するとリスクが下がるか
font-src を無制限にすると、攻撃者が自分のドメインから 細工フォントを @font-face 等で配布でき、ブラウザ/OSのフォント解析(CoreText/DirectWrite/FreeType/Minikin/HarfBuzz など)を“リモート入力”として踏ませられます。許可するフォント配信元を自社CDN等に絞ることで、攻撃者がフォントバイナリを差し込む経路そのものを潰せるため、未知/既知のフォントパーサ脆弱性に対する実効リスクを大きく下げられます。