| 概要 | Ghidra before 12.1 contains a heap-use-after-free vulnerability in the decompiler's HighVariable::merge() function during the variable merging pass. Attackers can trigger this vulnerability by crafting a binary that causes stale pointers in the HighIntersectTest::highedgemap cache to be dereferenced, reading and writing the flags field of freed heap memory when a user opens the binary in Ghidra's decompiler view. |
|---|---|
| 公表日 | 2026年6月10日23:16 |
| 登録日 | 2026年6月11日4:17 |
| 最終更新日 | 2026年6月12日10:10 |
| CVSS3.1 : MEDIUM | |
| スコア | 4.4 |
|---|---|
| ベクター | CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:L |
| 攻撃元区分(AV) | ローカル |
| 攻撃条件の複雑さ(AC) | 低 |
| 攻撃に必要な特権レベル(PR) | 不要 |
| 利用者の関与(UI) | 要 |
| 影響の想定範囲(S) | 変更なし |
| 機密性への影響(C) | なし |
| 完全性への影響(I) | 低 |
| 可用性への影響(A) | 低 |
| 構成1 | 以上 | 以下 | より上 | 未満 | |
| cpe:2.3:a:nsa:ghidra:*:*:*:*:*:*:*:* | 12.1 | ||||
| タイトル | NSAのGhidraにおける解放済みメモリの使用に関する脆弱性 |
|---|---|
| 概要 | Ghidra 12.1以前のバージョンには、デコンパイラのHighVariable::merge()関数にヒープ解放後使用の脆弱性が存在します。この脆弱性は変数のマージ処理中に発生します。攻撃者は、HighIntersectTest::highedgemapキャッシュ内の古くなったポインタが逆参照されるように細工したバイナリを作成することで、この脆弱性を悪用できます。これにより、ユーザーがGhidraのデコンパイラビューでバイナリを開いた際に、解放済みヒープメモリのflagsフィールドを読み書きできるようになります。 |
| 想定される影響 | ・当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 ・当該ソフトウェアが扱う情報の一部が書き換えられる可能性があります。 ・当該ソフトウェアの一部が停止する可能性があります。 |
| 対策 | ベンダ情報を参照して適切な対策を実施してください。 |
| 公表日 | 2026年6月10日0:00 |
| 登録日 | 2026年6月12日14:45 |
| 最終更新日 | 2026年6月12日14:45 |
| NSA |
| Ghidra 12.1 未満 |
| No | 変更内容 | 変更日 |
|---|---|---|
| 1 | [2026年06月12日] 掲載 |
2026年6月12日14:45 |