{"dataType": "CVE_RECORD", "dataVersion": "5.2", "cveMetadata": {"cveId": "CVE-2026-103658", "assignerOrgId": "98a01053-8a31-4f6d-9aa9-252be161adc6", "state": "PUBLISHED", "assignerShortName": "Anthropic", "dateReserved": "2026-10-01T08:19:42.892Z", "datePublished": "2026-10-12T21:24:48.600Z", "dateUpdated": "2026-10-14T19:15:47.603Z"}, "containers": {"cna": {"descriptions": [{"lang": "en", "value": "GNU Aspell 0.60.8.2 (first vulnerable version is not known) 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 \u2014 for example via aspell dump master <file> \u2014 can corrupt heap memory, resulting in denial of service and potentially code execution. Fixed in b830b6e and will be fixed in release 0.60.8.3."}], "affected": [{"vendor": "GNU", "product": "Aspell", "packageURL": "pkg:github/GNUAspell/aspell", "versions": [{"version": "0.60.8.2", "status": "affected", "versionType": "semver"}]}], "problemTypes": [{"descriptions": [{"lang": "en", "type": "CWE", "cweId": "CWE-122", "description": "CWE-122 Heap-based Buffer Overflow"}]}], "references": [{"url": "https://github.com/GNUAspell/aspell/security/advisories/GHSA-p35p-2mw5-fj5j"}], "credits": [{"lang": "en", "type": "finder", "value": "Anthropic, Claude"}, {"lang": "en", "type": "analyst", "value": "Ada Logics"}], "metrics": [{"cvssV3_1": {"version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L", "baseScore": 5.9, "baseSeverity": "MEDIUM"}}], "providerMetadata": {"orgId": "98a01053-8a31-4f6d-9aa9-252be161adc6", "shortName": "Anthropic", "dateUpdated": "2026-10-12T22:12:10.457Z"}, "x_gcve": [{"vulnId": "CVE-2026-103658", "recordType": "advisory"}]}, "adp": [{"references": [{"url": "https://github.com/GNUAspell/aspell/security/advisories/GHSA-p35p-2mw5-fj5j", "tags": ["exploit"]}], "metrics": [{"other": {"type": "ssvc", "content": {"timestamp": "2026-10-14T19:15:22.350465Z", "id": "CVE-2026-103658", "options": [{"Exploitation": "poc"}, {"Automatable": "no"}, {"Technical Impact": "partial"}], "role": "CISA Coordinator", "version": "2.0.3"}}}], "title": "CISA ADP Vulnrichment", "providerMetadata": {"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "shortName": "CISA-ADP", "dateUpdated": "2026-10-14T19:15:47.603Z"}}]}, "vulnerability-lookup:meta": {"epss": {"cve": "CVE-2026-103658", "date": "2026-11-13", "epss": "0.00213", "percentile": "0.11765"}, "microsoft_vex": {"current_release_date": "2026-11-07T01:48:37.000Z", "cve": "CVE-2026-103658", "id": "msrc_CVE-2026-103658", "initial_release_date": "2026-10-15T01:11:33.000Z", "product_status:fixed": "2", "product_status:known_affected": "2", "source": "Microsoft CSAF VEX", "status": "final", "title": "GNU Aspell 0.60.8.2 (first vulnerable version is not known) 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 \u2014 for example via aspell dump master <file> \u2014 can corrupt heap memory, resulting in denial of service and potentially code execution. Fixed in b830b6e and will be fixed in release 0.60.8.3.", "url": "https://msrc.microsoft.com/csaf/vex/2026/msrc_cve-2026-103658.json", "version": "4"}, "nvd": "{\"cve\":{\"id\":\"CVE-2026-103658\",\"sourceIdentifier\":\"98a01053-8a31-4f6d-9aa9-252be161adc6\",\"published\":\"2026-10-12T22:17:03.143\",\"lastModified\":\"2026-10-16T15:20:39.130\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"GNU Aspell 0.60.8.2 (first vulnerable version is not known) 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 \u2014 for example via aspell dump master <file> \u2014 can corrupt heap memory, resulting in denial of service and potentially code execution. Fixed in b830b6e and will be fixed in release 0.60.8.3.\"}],\"affected\":[{\"source\":\"98a01053-8a31-4f6d-9aa9-252be161adc6\",\"affectedData\":[{\"vendor\":\"GNU\",\"product\":\"Aspell\",\"packageURL\":\"pkg:github/GNUAspell/aspell\",\"versions\":[{\"version\":\"0.60.8.2\",\"versionType\":\"semver\",\"status\":\"affected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"98a01053-8a31-4f6d-9aa9-252be161adc6\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L\",\"baseScore\":5.9,\"baseSeverity\":\"MEDIUM\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"LOW\",\"integrityImpact\":\"LOW\",\"availabilityImpact\":\"LOW\"},\"exploitabilityScore\":2.5,\"impactScore\":3.4}],\"ssvcV203\":[{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"ssvcData\":{\"timestamp\":\"2026-10-14T19:15:22.350465Z\",\"id\":\"CVE-2026-103658\",\"options\":[{\"exploitation\":\"poc\"},{\"automatable\":\"no\"},{\"technicalImpact\":\"partial\"}],\"role\":\"CISA Coordinator\",\"version\":\"2.0.3\"}}]},\"weaknesses\":[{\"source\":\"98a01053-8a31-4f6d-9aa9-252be161adc6\",\"type\":\"Secondary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-122\"}]}],\"references\":[{\"url\":\"https://github.com/GNUAspell/aspell/security/advisories/GHSA-p35p-2mw5-fj5j\",\"source\":\"98a01053-8a31-4f6d-9aa9-252be161adc6\"},{\"url\":\"https://github.com/GNUAspell/aspell/security/advisories/GHSA-p35p-2mw5-fj5j\",\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\"}]}}", "redhat_vex": {"aggregate_severity": "Important", "current_release_date": "2026-11-12T10:23:36+00:00", "cve": "CVE-2026-103658", "id": "CVE-2026-103658", "initial_release_date": "2026-10-12T21:24:48.600000+00:00", "product_status:fixed": "124", "product_status:known_affected": "4", "source": "Red Hat CSAF VEX", "status": "final", "title": "aspell: aspell: Arbitrary code execution via crafted dictionary file", "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-103658.json", "version": "3"}, "vulnrichment": {"containers": "{\"adp\": [{\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2026-103658\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"poc\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2026-10-14T19:15:22.350465Z\"}}}], \"references\": [{\"url\": \"https://github.com/GNUAspell/aspell/security/advisories/GHSA-p35p-2mw5-fj5j\", \"tags\": [\"exploit\"]}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2026-10-14T19:15:43.055Z\"}}], \"cna\": {\"credits\": [{\"lang\": \"en\", \"type\": \"finder\", \"value\": \"Anthropic, Claude\"}, {\"lang\": \"en\", \"type\": \"analyst\", \"value\": \"Ada Logics\"}], \"metrics\": [{\"cvssV3_1\": {\"version\": \"3.1\", \"baseScore\": 5.9, \"baseSeverity\": \"MEDIUM\", \"vectorString\": \"CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L\"}}], \"affected\": [{\"vendor\": \"GNU\", \"product\": \"Aspell\", \"versions\": [{\"status\": \"affected\", \"version\": \"0.60.8.2\", \"versionType\": \"semver\"}], \"packageURL\": \"pkg:github/GNUAspell/aspell\"}], \"references\": [{\"url\": \"https://github.com/GNUAspell/aspell/security/advisories/GHSA-p35p-2mw5-fj5j\"}], \"descriptions\": [{\"lang\": \"en\", \"value\": \"GNU Aspell 0.60.8.2 (first vulnerable version is not known) 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 \\u2014 for example via aspell dump master <file> \\u2014 can corrupt heap memory, resulting in denial of service and potentially code execution. Fixed in b830b6e and will be fixed in release 0.60.8.3.\"}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-122\", \"description\": \"CWE-122 Heap-based Buffer Overflow\"}]}], \"providerMetadata\": {\"orgId\": \"98a01053-8a31-4f6d-9aa9-252be161adc6\", \"shortName\": \"Anthropic\", \"dateUpdated\": \"2026-10-12T22:12:10.457Z\"}}}", "cveMetadata": "{\"cveId\": \"CVE-2026-103658\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2026-10-14T19:15:47.603Z\", \"dateReserved\": \"2026-10-01T08:19:42.892Z\", \"assignerOrgId\": \"98a01053-8a31-4f6d-9aa9-252be161adc6\", \"datePublished\": \"2026-10-12T21:24:48.600Z\", \"assignerShortName\": \"Anthropic\"}", "dataType": "CVE_RECORD", "dataVersion": "5.2"}}}
