Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CWE-476 (空指针解引用) — Vulnerability Class 1149

1149 vulnerabilities classified as CWE-476 (空指针解引用). AI Chinese analysis included.

CWE-476 represents a critical memory management weakness where software attempts to access memory through a pointer that holds a NULL value instead of a valid address. This error typically occurs when a function fails to allocate memory or validate input, yet the code proceeds to dereference the resulting null reference without checking its status. Attackers exploit this vulnerability by triggering the null condition, often causing the application to crash and resulting in a denial of service. In more complex scenarios, if the NULL pointer is manipulated to point to executable code, it may lead to arbitrary code execution or privilege escalation. To prevent this, developers must rigorously validate all pointers before use, ensuring they are not NULL. Implementing defensive programming practices, such as using assertions during development and comprehensive error handling in production, helps mitigate the risk of dereferencing invalid memory addresses.

MITRE CWE Description
The product dereferences a pointer that it expects to be valid but is NULL.
Common Consequences (2)
AvailabilityDoS: Crash, Exit, or Restart
NULL pointer dereferences usually result in the failure of the process unless exception handling (on some platforms) is available and implemented. Even when exception handling is being used, it can still be very difficult to return the software to a safe state of operation.
Integrity, ConfidentialityExecute Unauthorized Code or Commands, Read Memory, Modify Memory
In rare circumstances, when NULL is equivalent to the 0x0 memory address and privileged code can access it, then writing or reading memory is possible, which may lead to code execution.
Mitigations (5)
ImplementationFor any pointers that could have been modified or provided from a function that can return NULL, check the pointer for NULL before use. When working with a multithreaded or otherwise asynchronous environment, ensure that proper locking APIs are used to lock before the check, and unlock when it has finished [REF-1484].
RequirementsSelect a programming language that is not susceptible to these issues.
ImplementationCheck the results of all functions that return a value and verify that the value is non-null before acting upon it.
Effectiveness: Moderate
Architecture and DesignIdentify all variables and data stores that receive information from external sources, and apply input validation to make sure that they are only initialized to expected values.
ImplementationExplicitly initialize all variables and other data stores, either during declaration or just before the first usage.
Examples (2)
This example takes an IP address from a user, verifies that it is well formed and then looks up the hostname and copies it into a buffer.
void host_lookup(char *user_supplied_addr){ struct hostent *hp; in_addr_t *addr; char hostname[64]; in_addr_t inet_addr(const char *cp); /*routine that ensures user_supplied_addr is in the right format for conversion */ validate_addr_form(user_supplied_addr); addr = inet_addr(user_supplied_addr); hp = gethostbyaddr( addr, sizeof(struct in_addr), AF_INET); strcpy(hostname, hp->h_name); }
Bad · C
In the following code, the programmer assumes that the system always has a property named "cmd" defined. If an attacker can control the program's environment so that "cmd" is not defined, the program throws a NULL pointer exception when it attempts to call the trim() method.
String cmd = System.getProperty("cmd"); cmd = cmd.trim();
Bad · Java
CVE IDTitleCVSSSeverityPublished
CVE-2025-27179 InDesign Desktop | NULL Pointer Dereference (CWE-476) — InDesign Desktop 5.5 Medium2025-03-11
CVE-2025-24997 DirectX Graphics Kernel File Denial of Service Vulnerability — Windows 10 Version 21H2 4.4 Medium2025-03-11
CVE-2025-22837 Arkcompiler Ets Runtime has a NULL pointer dereference vulnerability — OpenHarmony 3.3 Low2025-03-04
CVE-2025-21097 Arkcompiler Ets Runtime has a NULL pointer dereference vulnerability — OpenHarmony 3.3 Low2025-03-04
CVE-2025-21084 Arkcompiler Ets Runtime has an NULL pointer dereference vulnerability — OpenHarmony 3.8 Low2025-03-04
CVE-2025-1877 D-Link DAP-1562 HTTP POST Request pure_auth_check null pointer dereference — DAP-1562 6.5 Medium2025-03-03
CVE-2024-53024 NULL Pointer Dereference in Display — Snapdragon 7.8 High2025-03-03
CVE-2025-20647 MediaTek Modem 代码问题漏洞 — MT2735, MT2737, MT6739, MT6761, MT6762, MT6762D, MT6762M, MT6763, MT6765, MT6765T, MT6767, MT6768, MT6769, MT6769K, MT6769S, MT6769T, MT6769Z, MT6771, MT6779, MT6781, MT6783, MT6785, MT6785T, MT6785U, MT6789, MT6833, MT6833P, MT6853, MT6853T, MT6855, MT6855T, MT6873, MT6875, MT6875T, MT6877, MT6877T, MT6877TT, MT6879, MT6880, MT6883, MT6885, MT6886, MT6889, MT6890, MT6891, MT6893, MT6895, MT6895TT, MT6896, MT6980, MT6980D, MT6983, MT6983T, MT6985, MT6985T, MT6989, MT6989T, MT6990, MT8666, MT8667, MT8675, MT8765, MT8766, MT8768, MT8781, MT8786, MT8788, MT8789, MT8791, MT8791T, MT8795T, MT8797, MT8798 7.5 -2025-03-03
CVE-2024-53877 NVIDIA CUDA toolkit 代码问题漏洞 — CUDA Toolkit 3.3 Low2025-02-25
CVE-2025-1632 libarchive bsdunzip.c list null pointer dereference — libarchive 3.3 Low2025-02-24
CVE-2025-1470 Eclipse OMR: Null pointer dereference vulnerability — Eclipse OMR 7.5 -2025-02-21
CVE-2025-27113 libxml2 安全漏洞 — libxml2 2.9 Low2025-02-18
CVE-2025-1373 FFmpeg MOV Parser mov.c mov_read_trak null pointer dereference — FFmpeg 3.3 Low2025-02-17
CVE-2025-1371 GNU elfutils eu-read readelf.c handle_dynamic_symtab null pointer dereference — elfutils 3.3 Low2025-02-17
CVE-2025-21155 Substance3D - Stager | NULL Pointer Dereference (CWE-476) — Substance3D - Stager 5.5 Medium2025-02-11
CVE-2025-21125 InDesign Desktop | NULL Pointer Dereference (CWE-476) — InDesign Desktop 5.5 Medium2025-02-11
CVE-2025-24031 PAM-PKCS#11 vulnerable to segmentation fault on ctrl-c/ctrl-d when asked for PIN — pam_pkcs11 7.5 -2025-02-10
CVE-2025-1103 D-Link DIR-823X HTTP POST Request set_wifi_blacklists null pointer dereference — DIR-823X 6.5 Medium2025-02-07
CVE-2025-24483 Humming Heads Defense Platform 代码问题漏洞 — Defense Platform Home Edition 6.2 -2025-02-06
CVE-2025-20045 BIG-IP SIP MRF Vulnerability — BIG-IP 7.5 High2025-02-05
CVE-2025-0696 frozen 代码问题漏洞 — Frozen 5.3 Medium2025-01-27
CVE-2025-0430 Belledonne Communications Linphone-Desktop NULL Pointer Dereference — Linphone-Desktop 7.5 High2025-01-17
CVE-2025-0492 D-Link DIR-823X FUN_00412244 null pointer dereference — DIR-823X 7.5 High2025-01-15
CVE-2024-5198 OpenVPN Data Channel Offload 代码问题漏洞 — ovpn-dco 5.5 -2025-01-15
CVE-2024-48857 Vulnerabilities in TIFF and PCX Image Codecs Impact QNX Software Development Platform — QNX Software Development Platform (SDP) 7.5 High2025-01-14
CVE-2025-21285 Microsoft Message Queuing (MSMQ) Denial of Service Vulnerability — Windows 10 Version 1507 7.5 High2025-01-14
CVE-2023-42786 Fortinet FortiOS 代码问题漏洞 — FortiOS 6.4 Medium2025-01-14
CVE-2023-42785 Fortinet FortiOS 代码问题漏洞 — FortiOS 6.4 Medium2025-01-14
CVE-2025-0223 IObit Protected Folder IOCTL IURegistryFilter.sys 0x8001E010 null pointer dereference — Protected Folder 5.5 Medium2025-01-05
CVE-2025-0222 IObit Protected Folder IOCTL IUProcessFilter.sys 0x8001E004 null pointer dereference — Protected Folder 5.5 Medium2025-01-05

Vulnerabilities classified as CWE-476 (空指针解引用) represent 1149 CVEs. The CWE taxonomy describes the weakness; review individual CVEs for product-specific impact.