NASM is vulnerable to a buffer overflow that allows an attacker to execute arbitrary code through the use of a malicious object file.
|Package||dev-lang/nasm on all architectures|
|Affected versions||<= 0.98.38|
|Unaffected versions||>= 0.98.38-r1|
NASM is a 80x86 assembler that has been created for portability and modularity. NASM supports Pentium, P6, SSE MMX, and 3DNow extensions. It also supports a wide range of objects formats (ELF, a.out, COFF, ...), and has its own disassembler.
Jonathan Rockway discovered that NASM-0.98.38 has an unprotected vsprintf() to an array in preproc.c. This code vulnerability may lead to a buffer overflow and potential execution of arbitrary code.
A remote attacker could craft a malicious object file which, when supplied in NASM, would result in the execution of arbitrary code with the rights of the user running NASM.
There is no known workaround at this time.
All NASM users should upgrade to the latest version:
# emerge --sync # emerge --ask --oneshot --verbose ">=dev-lang/nasm-0.98.38-r1"
December 20, 2004
December 20, 2004: 01