Security advisory
In Netwide Assembler (NASM) 2.14rc0, there are multiple heap use after free vulnerabilities in the tool nasm. The related heap is allocated in the token() function and freed in the detoken() function (called by pp_getline()) - it is used again at multiple positions later that could cause multiple damages. For example, it causes a corrupted double-linked list in detoken(), a double free or corruption in delete_Token(), and an out-of-bounds write in detoken(). It has a high possibility to lead to a remote code execution attack.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2017-10686
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 1 Nov 2026, 05:26 UTC · Revision 1
Source evidence
In Netwide Assembler (NASM) 2.14rc0, there are multiple heap use after free vulnerabilities in the tool nasm. The related heap is allocated in the token() function and freed in the detoken() function (called by pp_getline()) - it is used again at multiple positions later that could cause multiple damages. For example, it causes a corrupted double-linked list in detoken(), a double free or corruption in delete_Token(), and an out-of-bounds write in detoken(). It has a high possibility to lead to a remote code execution attack.
osv:CVE-2017-10686
Complete source record
{
"id": "61b1f24122f972f473c52ea47f3671606ae0048bb6f1f1caed47b4b12c635aeb",
"url": "https://osv.dev/vulnerability/CVE-2017-10686",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "CVE-2017-10686",
"summary": "In Netwide Assembler (NASM) 2.14rc0, there are multiple heap use after free vulnerabilities in the tool nasm. The related heap is allocated in the token() function and freed in the detoken() function (called by pp_getline()) - it is used again at multiple positions later that could cause multiple damages. For example, it causes a corrupted double-linked list in detoken(), a double free or corruption in delete_Token(), and an out-of-bounds write in detoken(). It has a high possibility to lead to a remote code execution attack.",
"evidence": "osv:CVE-2017-10686",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2017-10686",
"aliases": [
"CVE-2017-10686"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/netwide-assembler/nasm",
"type": "GIT",
"events": [
{
"introduced": "7a81ead31b40392e9b0dff811ac0d3d4653ccfef"
},
{
"last_affected": "7a81ead31b40392e9b0dff811ac0d3d4653ccfef"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:nasm:netwide_assembler:2.14:rc0:*:*:*:*:*:*",
"range": [
{
"introduced": "2.14-rc0"
},
{
"last_affected": "2.14-rc0"
}
],
"source": "CPE_STRING"
}
]
}
}
],
"versions": [
"2.14-rc0",
"nasm-2.14rc0"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2017-10686.json"
}
}
],
"modified": "2026-10-24T10:30:28.764891749Z",
"provider": "osv",
"references": [
"https://security.gentoo.org/glsa/201903-19",
"https://usn.ubuntu.com/3694-1/",
"https://bugzilla.nasm.us/show_bug.cgi?id=3392414"
],
"provider_metadata": {
"unresolved_ranges": [
{
"cpes": [
"cpe:2.3:o:canonical:ubuntu_linux:14.04:*:*:*:lts:*:*:*"
],
"vendor_product": "canonical:ubuntu_linux",
"extracted_events": [
{
"range": [
{
"introduced": "14.04"
},
{
"last_affected": "14.04"
}
],
"source": "CPE_STRING"
}
]
}
]
}
},
"related_cves": [
{
"value": "CVE-2017-10686",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 432132,
"published_at": "2017-06-29T23:29:00.287+00:00"
}