| タイトル | Hayaki Saito (saitoha)のlibsixelにおける解放済みメモリの使用に関する脆弱性 |
|---|---|
| 概要 | libsixelはkmiyaのsixelをベースにしたSIXELエンコーダ/デコーダの実装です。バージョン1.8.7およびそれ以前には、fromgif.cのload_gif()関数にUse-After-Freeの脆弱性が存在します。この脆弱性は、単一のsixel_frame_tオブジェクトがアニメーションGIFのすべてのフレームで再利用され、gif_init_frame()がフレーム間でframe-pixelsをオブジェクトの参照カウントを考慮せずに無条件で解放および再割り当てを行うことが原因です。公開APIは、フレームを保持するためのsixel_frame_ref()と、生のピクセルバッファにアクセスするためのsixel_frame_get_pixels()を明示的に提供しています。そのため、このドキュメント化された使用パターンに従うコールバックは2フレーム目のデコード後にダングリングポインタを持ってしまい、ASANによってヒープのUse-After-Freeが検出されます。ユーザー提供のアニメーションGIFを処理するためにmulti-frameコールバックと共にsixel_helper_load_image_file()を使用する任意のアプリケーションが影響を受け、影響範囲は信頼性の高いクラッシュからコード実行の可能性まで及びます。この問題はバージョン1.8.7-r1で修正されました。 |
| 想定される影響 | 当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 また、当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 |
| 対策 | 正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。 |
| 公表日 | 2026年4月14日0:00 |
| 登録日 | 2026年4月24日11:37 |
| 最終更新日 | 2026年4月24日11:37 |
| CVSS3.0 : 重要 | |
| スコア | 7 |
|---|---|
| ベクター | CVSS:3.0/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H |
| Hayaki Saito (saitoha) |
| libsixel 1.8.7-r1 未満 |
| No | 変更内容 | 変更日 |
|---|---|---|
| 1 | [2026年04月24日] 掲載 |
2026年4月24日11:37 |
| 概要 | libsixel is a SIXEL encoder/decoder implementation derived from kmiya's sixel. Versions 1.8.7 and prior contain a Use-After-Free vulnerability via the load_gif() function in fromgif.c, where a single sixel_frame_t object is reused across all frames of an animated GIF and gif_init_frame() unconditionally frees and reallocates frame->pixels between frames without consulting the object's reference count. Because the public API explicitly provides sixel_frame_ref() to retain a frame and sixel_frame_get_pixels() to access the raw pixel buffer, a callback following this documented usage pattern will hold a dangling pointer after the second frame is decoded, resulting in a heap use-after-free confirmed by ASAN. Any application using sixel_helper_load_image_file() with a multi-frame callback to process user-supplied animated GIFs is affected, with a reliable crash as the minimum impact and potential for code execution. This issue has been fixed in version 1.8.7-r1. |
|---|---|
| 公表日 | 2026年4月15日7:16 |
| 登録日 | 2026年4月15日11:41 |
| 最終更新日 | 2026年4月23日23:48 |
| 構成1 | 以上 | 以下 | より上 | 未満 | |
| cpe:2.3:a:saitoha:libsixel:*:*:*:*:*:*:*:* | 1.8.7-r1 | ||||