GNU Aspell 软件中的漏洞
CVE ID
CVE-2026-75818
发布日期
2026年10月06日
供应商
GNU
产品
Aspell
受影响版本
所有版本在 0.60.8.3 之前
漏洞类型 (CWE)
基于堆的缓冲区溢出 (CWE-122)
报告来源
报告给 CERT Polska
CVE ID
CVE-2026-75819
发布日期
2026年10月06日
供应商
GNU
产品
Aspell
受影响版本
所有版本在 0.60.8.3 之前
漏洞类型 (CWE)
越界读取 (CWE-125)
报告来源
报告给 CERT Polska
CVE ID
CVE-2026-75820
发布日期
2026年10月06日
供应商
GNU
产品
Aspell
受影响版本
所有版本在 0.60.8.3 之前
漏洞类型 (CWE)
整数溢出或环绕 (CWE-190)
报告来源
报告给 CERT Polska
描述
CERT Polska 收到了关于 GNU Aspell 软件漏洞的报告,并参与了其披露的协调工作。
漏洞 CVE-2026-75818:GNU Aspell 的 prezip-bin 在 prog/prezip.c 中的解压缩器存在基于堆的缓冲区溢出漏洞。解压缩器未正确检查缓冲区空间,因此经过精心制作的压缩文件可能导致对堆的越界读取和写入操作。攻击者可以说服用户使用 prezip-bin 处理恶意压缩文件,从而触发内存损坏,导致进程崩溃。
此问题已在提交 15b188437f9e0192d4ac4472ad66a4e2f62a782f 中修复,将在版本 0.60.8.3 中发布。
漏洞 CVE-2026-75819:GNU Aspell 在 readonly_ws.cpp 中的 ReadOnlyDict::load() 函数中存在越界读取漏洞。当加载二进制 .rws 字典文件时,它使用文件头中的偏移字段作为堆缓冲区的字节索引,而未验证其边界。攻击者可以通过说服用户使用通过 --master、--dict-dir 或配置选项提供的精心制作的字典文件运行 aspell,从而触发堆内存泄露或通过应用程序崩溃导致的拒绝服务。
此问题已在提交 941953b25031bc9104e83f58e138a664b8dedc3f 中修复,将在版本 0.60.8.3 中发布。
漏洞 CVE-2026-75820:GNU Aspell 在 modules/speller/default/writable.cpp 中的 WritableDict::add() 函数中存在整数截断漏洞。当加载个人词汇表时,单词长度作为单个字节存储,导致长度为 256 的倍数的单词被截断。这会导致堆损坏。攻击者可以通过说服用户使用包含此类单词的精心制作的个人词汇表运行 aspell,从而导致拒绝服务。
此问题已在提交 782ce94e4dc71eaec4ee1bd945eb3b9c47c5387d 中修复,将在版本 0.60.8.3 中发布。
致谢
我们感谢 AFINE 团队的 Michał Majchrowicz 和 Marcin Wyczechowski 提供的负责任的漏洞报告。
有关 CERT Polska 协调漏洞披露过程的更多信息,请访问 https://cert.pl/en/cvd/。