NASM (Netwide Assembler) zawiera podatność typu use-after-free w mechanizmie przetwarzania plików odpowiedzi (opcja -@), która może prowadzić do uszkodzenia pamięci lub zdalnego wykonania kodu (RCE). Podatność otrzymała ocenę CVSS 9.6, co klasyfikuje ją jako krytyczną.
▸ Pokaż oryginał (EN)
NASM contains a heap use after free vulnerability in response file (-@) processing where a dangling pointer to freed memory is stored in the global depend_file and later dereferenced, as the response-file buffer is freed before the pointer is used, allowing for data corruption or remote code execution.
Podczas przetwarzania pliku odpowiedzi (response file, opcja -@) bufor zawierający dane pliku jest zwalniany przed tym, zanim wskaźnik do niego przestaje być używany. Zwolniony adres pamięci zostaje zapisany w globalnej zmiennej depend_file jako wiszący wskaźnik (dangling pointer). Gdy program następnie wyłuskuje ten wskaźnik, odwołuje się do już zwolnionego obszaru pamięci (heap use-after-free, CWE-416), co może zostać wykorzystane przez atakującego do kontrolowania przepływu wykonania programu.
Atakujący może doprowadzić do uszkodzenia danych w pamięci (data corruption) lub wykonania dowolnego kodu w kontekście procesu NASM (RCE). W praktyce oznacza to możliwość przejęcia kontroli nad maszyną, na której przetwarzany jest spreparowany plik odpowiedzi.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Dodatkowym środkiem zaradczym jest unikanie przetwarzania plików odpowiedzi (-@) pochodzących z niezaufanych źródeł oraz ograniczenie możliwości dostarczania takich plików do środowisk CI/CD i systemów automatycznego budowania.
Nasm Netwide Assembler — wersje wskazane w referencjach producenta (zgłoszenie: https://github.com/netwide-assembler/nasm/issues/222)
Szczegóły techniczne podatności zostały opublikowane przez zespół Sekai na blogu: https://sekai.team/blog/nasm-cve-disclosure/cve-2026-6068
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:HNasm Netwide Assembler
APPNasm3.02
Powiązane podatności
In NASM 2.15.04rc3, there is a double-free vulnerability in pp_tokline asm/preproc.c. This is fixed in commit ...
NASM’s disasm() function contains a stack based buffer overflow when formatting disassembly output, allowing a...
There exists a heap buffer overflow in nasm 2.16.02rc1 (GitHub commit: b952891).
NASM v2.16 was discovered to contain a heap buffer overflow in the component quote_for_pmake() asm/nasm.c:856
In Netwide Assembler (NASM) 2.15rc0, a heap-based buffer over-read occurs (via a crafted .asm file) in set_tex...