| タイトル | Vimにおける境界外書き込みに関する脆弱性 |
|---|---|
| 概要 | Vimはオープンソースのコマンドラインテキストエディターです。バージョン9.2.0698以前では、src/spell.c内のspell_soundfold_sofo()のシングルバイト分岐が、単語をスペルファイルのSOFO(サウンドフォールディング)バイトマップを通じて呼び出し元所有の結果バッファに変換します。そのコピーループは出力インデックスriを上限なしに進め、入力のNULでのみ終了し、入力バイトごとにMAXWLEN要素のスタックバッファに1バイトを書き込みます。MAXWLENより長い単語がsoundfold()に渡された場合(またはサウンドベースのスペルサジェストで到達された場合)、SOFOベースのスペル言語が有効なときにそのバッファの末尾を越えて書き込みます。これはスタックの範囲外書き込みであり、呼び出しフレームを破壊してエディターをクラッシュさせます。この脆弱性はバージョン9.2.0698で修正されました。 |
| 想定される影響 | ・当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 ・当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 ・当該ソフトウェアが完全に停止する可能性があります。 |
| 対策 | ベンダ情報を参照して適切な対策を実施してください。 |
| 公表日 | 2026年6月25日0:00 |
| 登録日 | 2026年6月29日11:01 |
| 最終更新日 | 2026年6月29日11:01 |
| CVSS3.0 : 重要 | |
| スコア | 7.8 |
|---|---|
| ベクター | CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H |
| Vim |
| Vim 9.2.0698 未満 |
| No | 変更内容 | 変更日 |
|---|---|---|
| 1 | [2026年06月29日] 掲載 |
2026年6月29日11:01 |
| 概要 | Vim is an open source, command line text editor. Prior to 9.2.0698, the single-byte branch of spell_soundfold_sofo() in src/spell.c translates a word through a spell file's SOFO (sound-folding) byte map into a caller-owned result buffer. Its copy loop advances the output index ri with no upper bound and terminates only on the input NUL, writing one byte per input byte into the MAXWLEN-element stack buffer the caller provides. A word longer than MAXWLEN, passed to soundfold() (or reached via sound-based spell suggestion) while a SOFO-based spell language is active, therefore writes past the end of that buffer. This is a stack out-of-bounds write that corrupts the call frame and crashes the editor. This vulnerability is fixed in 9.2.0698. |
|---|---|
| 公表日 | 2026年6月26日1:16 |
| 登録日 | 2026年6月27日4:29 |
| 最終更新日 | 2026年6月26日13:23 |
| 構成1 | 以上 | 以下 | より上 | 未満 | |
| cpe:2.3:a:vim:vim:*:*:*:*:*:*:*:* | 9.2.0698 | ||||