2025/03/13 14:05 CVE-2025-27363: out of bounds write in FreeType <= 2.13.0

博士!大変です!FreeTypeに新たな脆弱性が発見されました!

ほほう、ロボ子。FreeTypeじゃと? また何かやらかしてくれたかの? 最近、肩こりが酷くてな、フォントの細かい文字を見るのが辛いのじゃ。

今回は、TrueType GXとvariable fontファイルに関連する脆弱性で、CVE-2025-27363という識別子が割り当てられています。CVSS 3.1スコアは8.1と、かなり深刻な部類です。

なんと! 8.1となると、放置しておくと大変なことになるのじゃ! 詳しく教えておくれ、ロボ子!

はい。脆弱性の原因は、フォントサブグリフ構造の解析時に、符号付き short 値を符号なし long 値に代入する際のラップアラウンドです。これにより、ヒープバッファが小さく割り当てられ、範囲外書き込みが発生する可能性があります。

符号付きと符号なしの変換ミスか…。よくあるポカじゃが、それがこんな大惨事に繋がるとは、油断ならんのじゃ!

つまりじゃな、`short limit = -1;` みたいなコードがあったとして、これを `unsigned long size = limit + some_static_value;` とすると、`limit` が暗黙的に `unsigned long` に変換される際に、とんでもない大きな値になってしまうのじゃ! その結果、本来確保すべきバッファサイズよりも遥かに小さい領域しか確保されず、そこにデータを書き込もうとすると、メモリを破壊してしまうというわけじゃな!

その通りです。最大6つの符号付き long 整数が範囲外に書き込まれる可能性があるため、最悪の場合、任意コード実行に繋がる恐れがあります。

任意コード実行となると、サーバーが乗っ取られたり、機密情報が盗まれたりする可能性もあるのじゃ! これは一大事じゃ!

しかも、この脆弱性は、実際に悪用された可能性があるという情報もあります。

なんと! もうすでに誰かが悪用しているかもしれないのか! 影響範囲はどれくらいなのじゃ?

影響を受けるLinuxディストリビューションは、Amazon Linux 2、Debian、RHEL、Ubuntu 22.04など、広範囲に及びます。

主要なディストリビューションが軒並み影響を受けるとなると、これはもう社会問題じゃ!

早急に対策を講じなければ! 修正パッチは出ているのか?

はい。コミット ef636696524b081f1b8819eb0c6a0b932d35757d で問題の大部分は修正されています。

よし! これで一安心…とはいかないのじゃ!

え? どういうことですか?

まだ `limit` が符号付き short のまま残っているらしいのじゃ! つまり、完全な修正とは言えないのじゃ!

2.10.4 へのバックポートには、特に注意が必要ですね。

そうなのじゃ! バックポートする際は、必ず修正内容を精査し、脆弱性が完全に解消されていることを確認する必要があるのじゃ!

承知いたしました。FreeTypeを使用しているプロジェクトがないか、至急調査を開始します。

頼むぞ、ロボ子! この脆弱性を放置しておくと、世界中のフォントが文字化けして、大変なことになるかもしれないのじゃ!

文字化けですか?

そうじゃ! 例えば、重要な契約書が文字化けして読めなくなったり、Webサイトのデザインが崩壊したり…想像するだけで恐ろしいのじゃ!

確かに、それは困りますね。

そうじゃろ? だからこそ、今回の脆弱性には、最大限の注意を払う必要があるのじゃ!

博士、今回の脆弱性について、何か面白い名前を付けませんか?

面白い名前? うーん…「フォント地獄変」とか?

ちょっと怖いですね。もっとキャッチーな感じがいいです。

じゃあ…「文字化けパニック2025」!

それはそれで、ちょっと安直すぎますね(笑)。

うーん、難しいのじゃ。やっぱり、シンプルに「FreeTypeの悪夢」とかが良いんじゃないかの?

それ、なんかホラー映画みたいですね(笑)。

まあ、たまにはそういうのも良いんじゃないかの?

そうですね。たまには、そういうのも…って、結局名前は決まらないんですね!

まあ、名前なんてどうでも良いのじゃ! 大事なのは、脆弱性を修正して、世界中のフォントを文字化けの恐怖から救うことなのじゃ!

そうですね! 博士、私も頑張ります!

あれ? なんだこれ?

博士、それ…文字化けしていますね。

な、なんだってー! まさか、もうすでに私のガラケーが…!

こ、これは…緊急連絡網のデータが文字化けしている! これでは、誰にも連絡が取れない!

博士、落ち着いてください。まずは、バックアップデータを確認しましょう。

バ、バックアップ…そんなもの、とっくの昔に…

ま、まさか…これが、FreeTypeの呪いなのか…?

博士、諦めないでください! まだ、できることはあるはずです!

ロボ子…ありがとう。でも、もうダメじゃ…私のガラケーは、文字化けの海に沈んでいくのじゃ…

もしもし…

え? あなたは…まさか、フォント会社の社長!?

な、なんだってー!?

そ、そんなバカな…

あ、ありがとうございます…

なんだか、よく分からないけど…今回の脆弱性で、儲かっている会社もあるみたいじゃ…

そうですか…。

まあ、結果オーライってことで、良いんじゃないかの?

そうですね。結果オーライ…って、本当にそれで良いんですか!?

まあ、細かいことは気にしないのじゃ! それよりも、新しいガラケーを買いに行くのじゃ!

博士!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。