漏洞概述 漏洞名称: Out-of-bounds Read in Text Property Count in Vim < 9.2.0670 漏洞描述: 在 Vim 的 函数中,当文本属性存在时,一行被存储为 。该函数仅验证属性数据是否足够容纳单个条目,但从未检查与数据量相比的计数。如果声明了一个大计数但携带少量数据,消费者可能会读取超出行尾的缓冲区。这可以通过精心制作的 undo 文件实现,导致崩溃。 漏洞类型: Out-of-bounds Read ( CWE-125 ) 严重程度: Medium 发布日期: 17.06.2026 CVE ID: CVE-2026-57451 CVSS v3 基础指标: Attack vector: Local Attack complexity: High Privileges required: None User interaction: Required Scope: Unchanged Confidentiality: Low Integrity: None Availability: High CVSS v3 向量: CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:H Credits: cipher-creator Acknowledgements: The Vim project would like to thank Cipher / Causal Security (https://causalsecurity.com) for reporting and analyzing the issue and suggesting a fix. 影响范围 受影响版本: Vim (Vim) < 9.2.0670 修复版本: 9.2.0670 影响: Undo 文件通常是 Vim 自己写入的受信任数据,但 Vim 会读取一个名为 的兄弟文件。当 启用且文件的当前哈希匹配时,例如仓库或存档,其中包含恶意源/撤销对,可以交付精心制作的行。触发器是用户交互驱动的:必须启用 ,用户必须打开文件和 undo,消费者必须检查该行(例如通过显示它)。当这种情况发生时,越界读取可能会通过 返回的属性元数据泄漏相邻内存,并导致编辑器崩溃。 修复方案 该问题已通过 Vim 补丁 v9.2.0670 修复。 POC代码