概要

弊社メンバーが、学術・技術文書の作成に広く用いられている組版システムTeX Liveに含まれる複数のツール(DVI/PDFバックエンドおよびフォント処理を担うプログラム群)において、任意コード実行につながるメモリ安全性の脆弱性を発見し、開発元であるTeX Users Group(TUG)のセキュリティチームへ協調的に報告しました。これらの脆弱性は、いずれも--shell-escape などの特別な設定を必要とせず、攻撃者が用意した文書をコンパイルするだけで到達可能です。弊社は、実際に配布されている公式バイナリ上で、悪意ある文書の処理を通じて任意のコードが実行される状態に至ることを実証しています。本件は、開発元との協調のもとで公表しています。

公式配布バイナリ上で、悪意ある文書のコンパイルから任意コード実行に至った様子
公式配布バイナリ上で、悪意ある文書のコンパイルから任意コード実行に至った様子

発見した脆弱性

弊社メンバーは、継続的なソースコード監査を通じて、dvipsdvipdfmxpdfTeXの各コンポーネントに合計14件の新規のメモリ安全性脆弱性を発見しました。いずれも、画像・フォント・フォントマップといった攻撃者が内容を左右できる入力の解析処理に存在し、悪意ある画像を含む文書や、細工されたフォントを参照する文書をコンパイルするという、ごく通常の操作が引き金となります。

コンポーネント別の内訳と脆弱性クラスは以下のとおりです。

これらのうち複数は、単なるクラッシュにとどまらず、任意コード実行につながります。弊社は、実際に配布されている公式バイナリ上で、悪意ある文書のコンパイルから任意のコードが実行される状態に至るまでを実証しました。どの脆弱性がどの入力・どの箇所に対応するかは、利用者保護の観点から本記事では明かしません。なお本件の脆弱性は、Donald Knuth氏によるTeXエンジン本体ではなく、TeX Liveが同梱する周辺ツール群、とりわけ1990年代に起源を持つC言語製のプログラムに存在します。

影響と対策

本件は、論文投稿システムやオンラインの文書編集・共有サービスなど、未検証の文書を自動的にコンパイルする仕組みにおいて、とりわけ注意を要します。加えて、tug.orgが配布する公式バイナリの一部は、スタック保護・PIE・境界チェックといった近年標準的とされる緩和策を欠いており、弊社の実測では、ディストリビューションが再ビルドした版で単なるクラッシュに留まる問題が、これらの緩和策を欠く公式バイナリでは任意コード実行につながることを確認しています。今回確認した事例の一つでは、この任意コード実行が、オペレーティングシステム側の標準的な防御が有効な状態でも、追加の前提を必要とせず安定して成立しました。上流のTeX Liveをこのような環境で運用している場合は、文書のコンパイルを「未検証入力の処理」とみなし、適切にサンドボックス化することを推奨します。

責任ある開示と修正状況

弊社は責任ある開示の原則に基づき、2026年春以降、一連の脆弱性を継続的にTUGのセキュリティチームへ報告し、可能なものについては修正パッチをあわせて提供するとともに、CVE識別子の割り当てを申請してきました。TeX Liveは少数のボランティアによって維持されており、本件を通じて終始誠実かつ建設的にご対応いただきました。本記事は、開発元と調整した開示スケジュールに基づいて公開しています。個別の脆弱性の詳細および実証コードについては、修正が利用者に行き渡るまで公開を控えます。

継続的な脆弱性調査

弊社は、攻撃者視点を軸に、LLMを活用した未公表の脆弱性(0-day)の発見を継続的に実証してきました。本件も、大規模なソースコード監査から実際の公式バイナリを用いた再現・検証に至るまでを一貫して社内で行った成果の一つです。発見にとどまらず、修正パッチの提供や協調開示のプロセスまでを含めて対応できる体制を実務水準で積み上げています。同種の脆弱性調査や、自組織のパイプラインにおけるリスク評価については、お気軽にお問い合わせください。