| Summary | Vim is an open source, command line text editor. Prior to version 9.2.0450, a heap buffer overflow exists in read_compound() in src/spellfile.c when loading a crafted spell file (.spl) with UTF-8 encoding active. An attacker-controlled length field in the spell file's compound section overflows a 32-bit signed integer multiplication, causing a small buffer to be allocated for a write loop that runs many iterations, overflowing the heap. Because the 'spelllang' option can be set from a modeline, a text file modeline can trigger spell file loading if a malicious .spl file has been planted on the runtimepath. This issue has been patched in version 9.2.0450. |
|---|---|
| Publication Date | May 9, 2026, 8:16 a.m. |
| Registration Date | May 10, 2026, 4:10 a.m. |
| Last Update | May 14, 2026, 3:16 p.m. |
| CVSS3.1 : MEDIUM | |
| スコア | 6.6 |
|---|---|
| Vector | CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:H |
| 攻撃元区分(AV) | ローカル |
| 攻撃条件の複雑さ(AC) | 低 |
| 攻撃に必要な特権レベル(PR) | 不要 |
| 利用者の関与(UI) | 要 |
| 影響の想定範囲(S) | 変更なし |
| 機密性への影響(C) | 低 |
| 完全性への影響(I) | 低 |
| 可用性への影響(A) | 高 |
| Title | Vimにおける複数の脆弱性 |
|---|---|
| Summary | Vimはオープンソースのコマンドラインテキストエディタです。バージョン9.2.0450より前のバージョンには、UTF-8エンコーディングが有効な状態で細工されたスペルファイル(.spl)を読み込む際に、src/spellfile.cのread_compound()でヒープバッファオーバーフローの脆弱性が存在します。スペルファイルの複合セクションにある、攻撃者が制御可能な長さフィールドが32ビット符号付き整数の乗算をオーバーフローさせ、その結果、小さいバッファが書き込みループのために割り当てられます。しかし、そのループは多数の反復を実行し、ヒープのオーバーフローを引き起こします。'spelllang'オプションはmodelineから設定可能であるため、悪意のある.splファイルがruntimepathに設置されている場合、テキストファイルのmodelineによってスペルファイルの読み込みがトリガーされることがあります。この問題はバージョン9.2.0450で修正されました。 |
| Possible impacts | 当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 また、当該ソフトウェアが扱う情報について、書き換えは発生しません。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 |
| Solution | 正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。 |
| Publication Date | May 8, 2026, midnight |
| Registration Date | May 20, 2026, 1:27 p.m. |
| Last Update | May 20, 2026, 1:27 p.m. |
| Vim |
| Vim 9.2.0450 未満 |
| No | Changed Details | Date of change |
|---|---|---|
| 1 | [2026年05月20日] 掲載 |
May 20, 2026, 1:27 p.m. |