JVNDB-2026-009946 | |
PNG Development Groupのlibpngにおける解放済みメモリの使用に関する脆弱性 | |
| 概要 | |
LIBPNGは、PNG(Portable Network Graphics)ラスター画像ファイルを読み込み、作成し、操作するアプリケーションで使用されるリファレンスライブラリです。バージョン1.2.1から1.6.55において、`png_set_tRNS`と`png_set_PLTE`はそれぞれ、`png_struct`と`png_info`間のヒープに割り当てられたバッファをエイリアスしており、独立したライフタイムを持つ2つの構造体で単一の割り当てを共有しています。`trans_alpha`のエイリアスは少なくともlibpng 1.0から存在しており、`palette`のエイリアスは少なくとも1.2.1から存在しています。これらはすべての以前のリリースラインに影響を及ぼします。`png_set_tRNS`は`png_ptr-trans_alpha = info_ptr-trans_alpha`(256バイトのバッファ)を設定し、`png_set_PLTE`は`info_ptr-palette = png_ptr-palette`(768バイトのバッファ)を設定します。両方の場合において、`png_free_data`(`PNG_FREE_TRNS`または`PNG_FREE_PLTE`で)を呼び出すと、そのバッファが`info_ptr`を通じて解放される一方で、対応する`png_ptr`のポインタはダングリング状態のまま残ります。その後の行変換関数は解放されたメモリを参照し、いくつかのコードパスでは書き込みも行います。`png_set_tRNS`または`png_set_PLTE`の2回目の呼び出しは同様の影響を及ぼします。なぜなら、両関数は内部で`png_free_data`を呼び出してから`info_ptr`のバッファを再割り当てするためです。バージョン1.6.56でこの問題は修正されました。 | |
| CVSS による深刻度 (CVSS とは?) | |
|
CVSS v3 による深刻度
基本値: 7.5 (重要) [その他]
| |
| 影響を受けるシステム | |
|
| |
PNG Development Group | |
本脆弱性の影響を受ける製品の詳細については、ベンダ情報および参考情報をご確認ください。 | |
| 想定される影響 | |
当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 | |
| 対策 | |
正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。 | |
| ベンダ情報 | |
GitHub | |
| CWEによる脆弱性タイプ一覧 CWEとは? | |
| |
| 共通脆弱性識別子(CVE) CVEとは? | |
|
| |
| 参考情報 | |
| |
| 更新履歴 | |
|
| 公表日 | 2026/03/26 |
| 登録日 | 2026/04/06 |
| 最終更新日 | 2026/04/06 |



