Buffer overflow in the error function in preproc.c for NASM 0.98.38 1.2 allows attackers to execute arbitrary code via a crafted asm file, a different vulnerability than CVE-2005-1194.
NASM contains a heap use after free vulnerability in response file (-@) processing where a dangling pointer to freed memory is stored in the global dependfile and later dereferenced, as the response-file buffer is freed before the pointer is used, allowing for data corruption or remote code execution.
Netwide Assembler (NASM) 2.14rc16 has a heap-based buffer over-read in expandmmacparams in asm/preproc.c for the special cases of the % and $ and ! characters.
Netwide Assembler (NASM) before 2.13.02 has a use-after-free in detoken at asm/preproc.c.
Netwide Assembler (NASM) 2.14rc15 has a heap-based buffer over-read in expandmmacparams in asm/preproc.c for insufficient input.
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 ppgetline()) - 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 deleteToken(), and an out-of-bounds write in detoken(). It has a high possibility to lead to a remote code execution attack.
Netwide Assembler (NASM) 2.13.02rc2 has a stack-based buffer under-read in the function ieeeshr in asm/float.c via a large shift value.
Netwide Assembler (NASM) 2.13.02rc2 has a buffer over-read in the parseline function in asm/parser.c via uncontrolled access to nasmregflags.
In Netwide Assembler (NASM) 2.14.02, there is a use-after-free in pastetokens in asm/preproc.c.
NASM’s disasm() function contains a stack based buffer overflow when formatting disassembly output, allowing an attacker triggered out-of-bounds write when slen exceeds the buffer capacity.
A heap buffer overflow vulnerability exists in the Netwide Assembler (NASM) due to a lack of bounds checking in the objdirective() function. This vulnerability can be exploited by a user assembling a malicious .asm file, potentially leading to heap memory corruption, denial of service (crash), and arbitrary code execution.
In Netwide Assembler (NASM) 2.14rc0, there is a heap-based buffer over-read that will cause a remote denial of service attack, related to a while loop in pastetokens in asm/preproc.c.
Last updated 25 August 2025
NASM v2.16 was discovered to contain a global buffer overflow in the component dbgdbgtypevalue at /output/outdbg.c.
Netwide Assembler (NASM) 2.14rc15 has a NULL pointer dereference in the function findlabel in asm/labels.c that will lead to a DoS attack.
In Netwide Assembler (NASM) 2.14rc0, there is a use-after-free in ppverror in asm/preproc.c that will cause a remote denial of service attack.
In Netwide Assembler (NASM) 2.14rc0, there is a "SEGV on unknown address" that will cause a remote denial of service attack, because asm/preproc.c mishandles macro calls that have the wrong number of arguments.
In Netwide Assembler (NASM) 2.14rc0, there is a use-after-free in the pplistonemacro function in asm/preproc.c that will cause a remote denial of service attack, related to mishandling of line-syntax errors.
In Netwide Assembler (NASM) 2.14rc0, there is an illegal address access in ismmacro() in asm/preproc.c that will cause a remote denial of service attack, because of a missing check for the relationship between minimum and maximum parameter counts.
In Netwide Assembler (NASM) 2.14rc0, there is a heap-based buffer over-read in the function detoken() in asm/preproc.c that will cause a remote denial of service attack.
In Netwide Assembler (NASM) 2.14rc0, there is a heap-based buffer overflow that will cause a remote denial of service attack, related to a strcpy in pastetokens in asm/preproc.c, a similar issue to CVE-2017-11111.
In Netwide Assembler (NASM) 2.14rc0, there is a use-after-free in dodirective in asm/preproc.c that will cause a remote denial of service attack.
In Netwide Assembler (NASM) 2.14rc0, there is a use-after-free in ppgetline in asm/preproc.c that will cause a remote denial of service attack.
In Netwide Assembler (NASM) 2.14rc0, there is an illegal address access in the function findcc() in asm/preproc.c that will cause a remote denial of service attack, because pointers associated with skipwhite calls are not validated.
In Netwide Assembler (NASM) 2.14rc0, there is a use-after-free in pplistonemacro in asm/preproc.c that will lead to a remote denial of service attack, related to mishandling of operand-type errors.
An infinite recursion issue was discovered in eval.c in Netwide Assembler (NASM) through 2.14.02. There is a stack exhaustion problem resulting from infinite recursion in the functions expr, rexp, bexpr and cexpr in certain scenarios involving lots of '{' characters. Remote attackers could leverage this vulnerability to cause a denial-of-service via a crafted asm file.
An issue was discovered in NASM version 2.16rc0. There are memory leaks in nasmcalloc() in nasmlib/alloc.c.
An issue was discovered in NASM version 2.16rc0. There are memory leaks in nasmmalloc() in nasmlib/alloc.c.
nasm v2.16 was discovered to contain a stack overflow in the Ndisasm component
NASM v2.16 was discovered to contain a segmentation violation in the component ieeewritefile at /output/outieee.c.