Hayaki Saito (saitoha)のlibsixelにおける解放済みメモリの使用に関する脆弱性
| Title |
Hayaki Saito (saitoha)のlibsixelにおける解放済みメモリの使用に関する脆弱性
|
| Summary |
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で修正されました。
|
| Possible impacts |
当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 また、当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 |
| Solution |
正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。 |
| Publication Date |
April 14, 2026, midnight |
| Registration Date |
April 24, 2026, 11:37 a.m. |
| Last Update |
April 24, 2026, 11:37 a.m. |
|
CVSS3.0 : 重要
|
| Score |
7
|
| Vector |
CVSS:3.0/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H |
Affected System
| Hayaki Saito (saitoha) |
|
libsixel 1.8.7-r1 未満
|
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
ベンダー情報
その他
Change Log
| No |
Changed Details |
Date of change |
| 1 |
[2026年04月24日] 掲載 |
April 24, 2026, 11:37 a.m. |
NVD Vulnerability Information
CVE-2026-33018
| Summary |
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.
|
| Publication Date |
April 15, 2026, 7:16 a.m. |
| Registration Date |
April 15, 2026, 11:41 a.m. |
| Last Update |
April 23, 2026, 11:48 p.m. |
Affected software configurations
| Configuration1 |
or higher |
or less |
more than |
less than |
| cpe:2.3:a:saitoha:libsixel:*:*:*:*:*:*:*:* |
|
|
|
1.8.7-r1 |
Related information, measures and tools
Common Vulnerabilities List