Bug 2550001 (CVE-2026-103658) - CVE-2026-103658 aspell: aspell: Arbitrary code execution via crafted dictionary file
Summary: CVE-2026-103658 aspell: aspell: Arbitrary code execution via crafted dictiona...
Keywords:
Status: NEW
Alias: CVE-2026-103658
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
high
high
Target Milestone: ---
Assignee: Product Security DevOps Team
QA Contact:
URL:
Whiteboard:
Depends On: 2550233
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-10-12 21:31 UTC by OSIDB Bzimport
Modified: 2026-10-13 07:26 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2026-10-12 21:31:35 UTC
GNU Aspell through 0.60.8.2 contains a heap-based buffer overflow write (CWE-122) in its read-only dictionary loader. String::reserve() in common/string.hpp computes its capacity check with a signed int ((int)s + 1), so a requested size of 0x7FFFFFFF wraps negative and the backing buffer is never grown. ReadOnlyDict::load() in modules/speller/default/readonly_ws.cpp passes the unvalidated 32-bit size fields from a .rws dictionary header into this path, so a crafted .rws file with a valid endian marker (12345678) and an oversized length field (e.g. lang_name_size = 0x7FFFFFFF) causes attacker-controlled data to be written out of bounds past an undersized heap allocation. An attacker who induces a victim to load a malicious dictionary — for example via aspell dump master <file> — can corrupt heap memory, resulting in denial of service and potentially code execution. Fixed in 0.60.8.3.


Note You need to log in before you can comment on or make changes to this bug.