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

Goal: 1000 CNY · Raised: 1359 CNY

100%

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

1557 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)
Availability DoS: 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, Confidentiality Execute 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)
Implementation For 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].
Requirements Select a programming language that is not susceptible to these issues.
Implementation Check 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 Design Identify 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.
Implementation Explicitly 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 ID Title CVSS Severity Published
CVE-2026-91780 GNU Binutils elflink.c elf_link_add_object_symbols null pointer dereference — Binutils 3.3 Low 2026-09-15
CVE-2026-91779 GNU Binutils Eh Frame elf-eh-frame.c _bfd_elf_eh_frame_section_offset null pointer dereference — Binutils 3.3 Low 2026-09-15
CVE-2026-90830 GNU Binutils Section Merge merge.c _bfd_write_merged_section null pointer dereference — Binutils 5.3 Medium 2026-09-14
CVE-2026-90829 GNU Binutils SHT_GROUP Section elf.c bfd_elf_set_group_contents null pointer dereference — Binutils 5.3 Medium 2026-09-14
CVE-2026-90828 GNU Binutils ELF Orphan Section ldelf.c elf_orphan_compatible null pointer dereference — Binutils 5.3 Medium 2026-09-14
CVE-2026-53719 Envoy Gateway: Nil-dereference when SecurityPolicy targets TCPRoute without spec.authorization — gateway 6.5 Medium 2026-09-14
CVE-2026-16702 IBM® Db2® federated server could allow a remote authenticated attacker to cause a denial of service due to a null pointer dereference — Db2 6.5 Medium 2026-09-14
CVE-2026-90802 GNU Binutils ld libbfd.c bfd_putl64 null pointer dereference — Binutils 4.4 Medium 2026-09-14
CVE-2026-90995 Sssd: sssd: local denial of service due to null pointer dereference in pam responder — Red Hat Enterprise Linux 10 5.5 Medium 2026-09-14
CVE-2026-90792 GPAC MP4Box base_scenegraph.c gf_node_list_get_child null pointer dereference — GPAC 4.3 Medium 2026-09-14
CVE-2026-90622 GNU libredwg Layer Encoding dwg.spec DWG_TABLE null pointer dereference — libredwg 3.3 Low 2026-09-14
CVE-2026-90609 GPAC MP4Box vrml_tools.c null pointer dereference — GPAC 3.3 Low 2026-09-14
CVE-2026-33970 SAMSUNG Exynos 850 异常处理不当漏洞 — Exynos 850 firmware 3.5 Low 2026-09-14
CVE-2026-15891 NULL pointer dereference in Zephyr MQTT-SN client when removing a non-responsive gateway — zephyr 7.5 High 2026-09-13
CVE-2026-90576 GPAC MP4Box base_scenegraph.c gf_node_list_add_child null pointer dereference — GPAC 3.3 Low 2026-09-13
CVE-2026-90573 GPAC MP4Box vrml_tools.c gf_sg_mfurl_del null pointer dereference — GPAC 3.3 Low 2026-09-13
CVE-2026-90782 S2OPC through 1.7.3 NULL Pointer Dereference in alloc_notification_message_items() — S2OPC 5.3 Medium 2026-09-13
CVE-2026-90485 IOBit Uninstaller IOCTL Dispatch IURegistryFilter.sys sub_11838 null pointer dereference — Uninstaller 5.5 Medium 2026-09-12
CVE-2026-78130 strongSwan 异常处理不当漏洞 — strongSwan 7.5 High 2026-09-11
CVE-2026-78126 strongSwan 异常处理不当漏洞 — strongSwan 5.9 Medium 2026-09-11
CVE-2026-45747 Suricata lua/tls: null dereference in TlsGetCertInfo — suricata 7.5 High 2026-09-10
CVE-2026-86547 mrubyc through 4.0.0 NULL Pointer Dereference via OP_ENTER — mrubyc 6.2 Medium 2026-09-09
CVE-2026-66303 Skype for Business and Lync Denial of Service Vulnerability — Skype for Business Server 2015 CU13 6.5 Medium 2026-09-08
CVE-2026-77901 Microsoft Office Word Remote Code Execution Vulnerability — Microsoft 365 Apps for Enterprise 8.8 High 2026-09-08
CVE-2026-70575 Windows Schannel Denial of Service Vulnerability — Windows 11 version 23H2 5.3 Medium 2026-09-08
CVE-2026-69881 Windows Internet Key Exchange (IKE) Extension Denial of Service Vulnerability — Windows 10 Version 1809 7.5 High 2026-09-08
CVE-2026-69384 Virtual Hard Disk (VHD) Miniport Driver Denial of Service Vulnerability — Windows 10 Version 1607 7.1 High 2026-09-08
CVE-2026-62762 Windows Active Directory Domain Services Denial of Service Vulnerability — Windows 10 Version 1607 6.5 Medium 2026-09-08
CVE-2026-72949 Windows SMB Server Network Transport Driver (srvnet.sys) Denial of Service Vulnerability — Windows 11 version 23H2 7.5 High 2026-09-08
CVE-2026-77489 Windows Biometric Service Elevation of Privilege Vulnerability — Windows 10 Version 1607 7.8 High 2026-09-08

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