CVE-2026-6067
CVE-2026-6067
A heap buffer overflow vulnerability exists in the Netwide Assembler (NASM) due to a lack of bounds checking in the obj_directive() 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.
Attack profile
How easy it is to exploit
- Attack vector
- Local
- Complexity
- Low
- Privileges needed
- None
- User interaction
- Required
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- High
Exploit likelihood
What each source reports
NVD Score used
5.5
A heap buffer overflow vulnerability exists in the Netwide Assembler (NASM) due to a lack of bounds checking in the obj_directive() 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.
- Record
CVE-2026-6067- CVSS 3.1
- 5.5 Medium
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H - CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-787
- Updated
- 2026-11-02
CVE List
7.5
CVE-2026-6067
A heap buffer overflow vulnerability exists in the Netwide Assembler (NASM) due to a lack of bounds checking in the obj_directive() 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.
- Record
CVE-2026-6067- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
EUVDEUVD-2026-21378
7.5
A heap buffer overflow vulnerability exists in the Netwide Assembler (NASM) due to a lack of bounds checking in the obj_directive() 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.
- Record
EUVD-2026-21378- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-6h49-94j7-p577
7.5
A heap buffer overflow vulnerability exists in the Netwide Assembler (NASM) due to a lack of...
A heap buffer overflow vulnerability exists in the Netwide Assembler (NASM) due to a lack of bounds checking in the obj_directive() 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.
- Record
GHSA-6h49-94j7-p577- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-787
- Updated
- 2026-11-02
OSV
7.5
CVE-2026-6067
A heap buffer overflow vulnerability exists in the Netwide Assembler (NASM) due to a lack of bounds checking in the obj_directive() 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.
- Record
CVE-2026-6067- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVDEBIAN-CVE-2026-6067
5.5
A heap buffer overflow vulnerability exists in the Netwide Assembler (NASM) due to a lack of bounds checking in the obj_directive() 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.
- Record
DEBIAN-CVE-2026-6067- CVSS 3.1
- 5.5 Medium
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
Show 4 moreShow less
OSVUBUNTU-CVE-2026-6067
7.5
A heap buffer overflow vulnerability exists in the Netwide Assembler (NASM) due to a lack of bounds checking in the obj_directive() 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.
- Record
UBUNTU-CVE-2026-6067- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - CVSS 3.1
- 5.5 Medium
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVopenSUSE-SU-2026:11217-1 No score
nasm-3.02-1.1 on GA media
These are all security issues fixed in the nasm-3.02-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:11217-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:21333-1 No score
Security update for nasm
This update for nasm fixes the following issues
- CVE-2026-6067: heap buffer overflow vulnerability due to a lack of bounds checking in the obj_directive() function (bsc#1261986).
- CVE-2026-6068: heap use after free vulnerability in response file processing (bsc#1261985).
Changes for nasm:
- Update to 3.02:
- Fix build problems on C23 compilers using a pre-C23 version of <stdbool.h> which defines bool as a macro in violation of the C23 specification.
- The immediate form of the JMPE instruction (opcode 0F B8) has been changed to an absolute address, as in the Itanium Architecture Software Developer's Manual, version 2.3, Volume 4, page 4:249. Hopefully this won't break whatever virtual environments use JMPE, but it is the closest thing there is to an official specification for this opcode.
- Being an absolute address, treat it equivalent to a FAR jump and do not default to 64 bits in 64-bit mode.
- That JMPE has apparently been wrong all these years is probably as good of a hint as any how much it has been actually used, but it does have the possibility of breaking virtual environments. In that case, please file a bug report to https://bugs.nasm.us with details about the virtual environment, and we will figure out a suitable solution.
- Various build fixes. Fix the documentation not building on MacOS because of the cp utility lacking -u there. Also fix not building generally due to wrong link formatting. Another fix was a typo in compiler.h related to a C++ check.
- Corrections to assembling encodings:
- Fix CMP allowing LOCK which is illegal.
- Correct multiple AVX512 instructions such as VCVTSD2SI, VCVTSD2USI, VCVTSS2SI, VCVTSS2USI, VCVTTSD2SI, VCVTTSD2USI, VCVTTSS2SI, VCVTTSS2USI, VGETEXPSH, VGETMANTSH, MOVDDUP, VMOVDDUP.
- Fixed other encodings or instruction formats for instructions UWRMSR, CMPSD, VCMPSS, V4FMADDSS, V4FNMADDSS, VCVTDQ2PH, VCVTPD2PH, VCVTPH2UDQ, VCVTQQ2PH, VCVTUDQ2PH, VCVTUQQ2PH, VGETEXPSH, VGETMANTSH, VRCPPH, VRSQRTPH, VCVTPH2BF8, VCVTPH2BF8S, VCVTPH2HF8, VCVTPH2HF8S.
- Fixed typos in VP4DPWSSD mnemonic.
- Fixed BYTE and WORD operands getting the same encoding on arithmetic instructions such as CMP.
- Fixed PUSH not assembling when used with a DWORD in 64-bit mode. This is not a recommended syntax as the operand size is still 64 bits, but was permitted by earlier versions of NASM.
- Fix parsing of $--escaped symbols in directives (GLOBAL, STATIC, EXTERN, REQUIRED, COMMON).
- Corrections to disassembling:
- Shift instructions with the unity operand were getting disassembled to a zero operand instead of one.
- JMP, CALL and JMPE disassembled incorrectly with the register operands.
- Whole bunch of minor fixes to operand sizes, operand size prefixes. Changes mostly return the behavior known from 2.16.03.
- MOV [mem], label would be accepted without size specifiers which could cause unintended consequences. Raise an error if no size was specified and one of the operands is a memory reference and another operands is a label.
- JMP NEAR is now the same as JMP STRICT NEAR as the STRICT is redundant here. JMP WORD on the other hand is up for optimization as NEAR and WORD relate to different things -- jump lengths and operation sizes respectively.
- Using redundant (or not) but valid operands size prefixes was fixed on instructions such as IRET, PUSHF, POPF, PUSH and POP.
- Using an operand size prefix on a JMP or CALL instruction could generate an invalid instruction. This appears to have been a long-standing bug. Specifying the operand size by specifying the size of the immediate explicitly (e.g. JMP DWORD label) has always worked correctly, however.
- Add support for C2y-style \o escape sequences, braced escape sequences, and as NASM extensions, decimal escape sequences (\d) and control-character escape sequences (^). See section 3.4.2.
- Fix generation of the short opcodes for ADD, OR, ADC, SBB, AND, SUB, XOR, and CMP AL,imm8.
- Fix truncation…
- Record
openSUSE-SU-2026:21333-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:3178-1 No score
Security update for nasm
This update for nasm fixes the following issues
- CVE-2026-6067: heap buffer overflow vulnerability due to a lack of bounds checking in the obj_directive() function (bsc#1261986).
- CVE-2026-6068: heap use after free vulnerability in response file processing (bsc#1261985).
- Record
SUSE-SU-2026:3178-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
nasmDebian:12 |
All versions, plus listed versions 2.16.01-12.16.03-13.01-1 |
None known |
nasmDebian:13 |
All versions, plus listed versions 2.16.03-13.01-1 |
None known |
nasmDebian:14 |
All versions, plus listed versions 2.16.03-13.01-1 |
None known |
nasmSUSE:Linux Enterprise Module for Development Tools 15 SP7 From an advisory covering 2 CVEs |
before 2.16.03-150700.3.3.1 | 2.16.03-150700.3.3.1 |
nasmUbuntu:16.04:LTS |
All versions, plus listed versions 2.11.06-1really2.11.05-12.11.08-12.11.08-1ubuntu0.1 |
None known |
nasmUbuntu:18.04:LTS |
All versions, plus listed versions 2.13.01-22.13.02-0.1 |
None known |
nasmUbuntu:20.04:LTS |
All versions, plus listed versions 2.14.02-1 |
None known |
nasmUbuntu:Pro:22.04:LTS |
All versions, plus listed versions 2.15.05-12.15.05-1ubuntu0.1~esm12.15.05-1ubuntu0.1~esm2 |
None known |
nasmUbuntu:Pro:24.04:LTS |
All versions, plus listed versions 2.16.01-12.16.01-1build12.16.01-1ubuntu0.1~esm12.16.01-1ubuntu0.1~esm2 |
None known |
nasmUbuntu:25.10 |
All versions, plus listed versions 2.16.03-1 |
None known |
Show 4 moreShow less
| Package | Affected | Fixed |
|---|---|---|
nasmUbuntu:26.10 |
All versions, plus listed versions 3.01-1 |
None known |
nasmUbuntu:26.04:LTS |
All versions, plus listed versions 2.16.03-13.01-1 |
None known |
nasmopenSUSE:Tumbleweed From an advisory covering 2 CVEs |
before 3.02-1.1 | 3.02-1.1 |
nasmopenSUSE:Leap 16.0 From an advisory covering 2 CVEs |
before 3.02-160000.1.1 | 3.02-160000.1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-6067 is a medium vulnerability (CVSS 5.5) in Nasm, published April 10, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.36%, the 30th percentile. No source names a fixed version.
References
github.com/netwide-assembler/nasm/issues/203
nvd.nist.gov/vuln/detail/CVE-2026-6067
github.com/advisories/GHSA-6h49-94j7-p577
github.com/CVEProject/cvelistV5/tree/main/cves/2026/6xxx/CVE-2026-6067.json
security-tracker.debian.org/tracker/CVE-2026-6067
suse.com/support/update/announcement/2026/suse-su-20263178-1
Left out here: the rest of 1 source description. The JSON record has them.