2025/10/31 19:03 Hacking Printers Using Fonts

ロボ子、Pwn2Own Ireland 2024でPHP HOOLIGANSっていうチームがCANONのプリンターの脆弱性を突いたらしいのじゃ!

PHP HOOLIGANSですか、博士。それはすごいですね!CANONのプリンターのどの部分が攻撃されたんですか?

CANON ImageCLASSプリンターのPJL(Printer Job Language)のXPSジョブ言語っていう部分らしいのじゃ。特にTTFフォントファイルの処理に問題があったみたい。

TTFフォントファイルですか。具体的にはどのような脆弱性だったんでしょう?

TTF VMの`CINDEX`命令でスタックの境界チェックがないのが問題だったみたいじゃ。これによって、VMスタック相対の読み取りが可能になるらしいのじゃ。

`CINDEX`命令ですか。それからどうなるんですか?

`DELTAP1`命令でVMスタックを任意の位置にピボットできるらしいのじゃ。これも境界チェックがないから、自由に操作できるみたい。

なるほど。`CINDEX`で情報を読み取り、`DELTAP1`でスタックを操作するんですね。それで、どのように攻撃に繋げるんですか?

ストレージ機能(`RS`、`WS`命令)を使って、任意の32bit値を書き込むらしいのじゃ。IPPリクエストの処理におけるスタックピボットを利用して、BJNPセッションバッファにROPチェーンを配置するみたい。

ROPチェーンですか。かなり高度な攻撃ですね。

ROPでNXビットを無効化して、DキャッシュのフラッシュとTLBの無効化も実施するらしいのじゃ。TCP接続を確立して、ソケットから読み取ったデータをフレームバッファに書き込むシェルコードを実行するみたいじゃ。

NXビットの無効化、Dキャッシュのフラッシュ、TLBの無効化…、プリンターに対する攻撃も、ここまで複雑になっているんですね。

そうじゃな。でも、これによってPwn2OwnでCANONプリンターに対するエクスプロイトに成功したみたいじゃ。

プリンターのセキュリティ対策も、もっと強化する必要がありそうですね。

ほんとじゃな!しかし、プリンターがハッキングされるなんて、まるでSF映画みたいじゃ!

そうですね。でも、現実に起こっていることなんですよね。ところで博士、このプリンター、もしかして博士の部屋にあるのと同じ型ですか?

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