PT-2026-110962 · Gnu · Aspell
CVSS v3.1
5.9
Medium
| Vector | AV:L/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L |
Name of the Vulnerable Software and Affected Versions
GNU Aspell versions prior to 0.60.8.3
Description
A heap-based buffer overflow write exists in the read-only dictionary loader. The
String::reserve() function in common/string.hpp performs a capacity check using a signed integer ((int)s + 1), which allows a requested size of 0x7FFFFFFF to wrap to a negative value, preventing the backing buffer from growing. The ReadOnlyDict::load() function in modules/speller/default/readonly ws.cpp passes unvalidated 32-bit size fields from a .rws dictionary header into this path. Consequently, a crafted .rws file containing a valid endian marker and an oversized length field, such as lang name size set to 0x7FFFFFFF, allows attacker-controlled data to be written out of bounds past an undersized heap allocation. This can lead to heap memory corruption, resulting in denial of service or potential code execution if a victim is induced to load a malicious dictionary.Recommendations
Update to version 0.60.8.3.
Fix
Heap Based Buffer Overflow
Found an issue in the description? Have something to add? Feel free to write us 👾
Weakness Enumeration
Related Identifiers
Affected Products
Aspell