CWEweakness
CWE-909 Missing Initialization of Resource
Medium
Official page ↗
- Abstraction
- Class
- Structure
- Simple
- Status
- Incomplete
- Likelihood of exploit
- Medium
- Languages
- Not Language-Specific
- CWE version
- 5.0
Description
The product does not initialize a critical resource.
Common consequences
• Other: Varies by Context — If a resource is not initialized, it could contain unpredictable or expired data, or it could be initialized to defaults that are invalid. This can have security implications when the resource is expected to have certain properties or values.
• Confidentiality: Read Memory, Read Application Data — When reusing a resource such as memory or a program variable, the original contents of that resource may not be cleared before it is sent to an untrusted party.
• Availability: DoS: Crash, Exit, or Restart — The uninitialized resource may contain values that cause program flow to change in ways that the programmer did not intend.
Potential mitigations
• [Implementation] Explicitly initialize the resource before use. If this is performed through an API function or standard procedure, follow all specified steps.
• [Implementation] Pay close attention to complex conditionals that affect initialization, since some branches might not perform the initialization.
• [Implementation] Avoid race conditions (CWE-362) during initialization routines.
• [Build and Compilation] Run or compile your product with settings that generate warnings about uninitialized variables or data.
Detection methods
• Automated Static Analysis: Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then searching for potentially-vulnerable patterns that connect "sources" (origins of input) with "sinks" (destinations where the data interacts with external components, a lower layer such as the OS, etc.)
Observed examples
• CVE-2020-20739: A variable that has its value set in a conditional statement is sometimes used when the conditional fails, sometimes causing data leakage
• CVE-2005-1036: Chain: Bypass of access restrictions due to improper authorization (CWE-862) of a user results from an improperly initialized (CWE-909) I/O permission bitmap
Related
Observed example · CVE (2)
- CVE-2020-20739 im_vips2dz in /libvips/libvips/deprecated/im_vips2dz.c in libvips before 8.8.2 has an uninitialized variable which may cause the leakage of… vulnerability
- CVE-2005-1036 FreeBSD 5.x to 5.4 on AMD64 does not properly initialize the IO permission bitmap used to allow user access to certain hardware, which… vulnerability
Can precede · CWE (1)
- CWE-908 Use of Uninitialized Resource weakness
Child of · CWE (1)
- CWE-665 Improper Initialization weakness
Referenced by CVE · weakness (104)
- CVE-2026-113351 libexpat 2.7.2 through 2.9.0 contains a denial of service vulnerability because XML_ParserReset zeroes the direct byte count but never… vulnerability
- CVE-2026-64035 In the Linux kernel, the following vulnerability has been resolved: igc: set tx buffer type for SMD frames Sashiko pointed out that… vulnerability
- CVE-2026-43040 In the Linux kernel, the following vulnerability has been resolved: net: ipv6: ndisc: fix ndisc_ra_useropt to initialize nduseropt_padX… vulnerability
- CVE-2026-40687 In Exim before 4.99.2, when the SPA authentication driver is used with an adversarial SPA resource, there can be an out-of-bounds write… vulnerability
- CVE-2025-8117 PAD CMS improperly initializes parameter used for password recovery, which allows to change password for any user that did not use reset… vulnerability
- CVE-2025-38601 In the Linux kernel, the following vulnerability has been resolved: wifi: ath11k: clear initialized flag for deinit-ed srng lists In a… vulnerability
- CVE-2025-38532 In the Linux kernel, the following vulnerability has been resolved: net: libwx: properly reset Rx ring descriptor When device reset is… vulnerability
- CVE-2025-54388 Moby is an open source container framework developed by Docker Inc. vulnerability
- CVE-2025-54410 Moby is an open source container framework developed by Docker Inc. vulnerability
- CVE-2022-50169 In the Linux kernel, the following vulnerability has been resolved: wifi: wil6210: debugfs: fix info leak in wil_write_file_wmi() The… vulnerability
- CVE-2022-49865 In the Linux kernel, the following vulnerability has been resolved: ipv6: addrlabel: fix infoleak when sending struct ifaddrlblmsg to… vulnerability
- CVE-2022-49217 In the Linux kernel, the following vulnerability has been resolved: scsi: pm8001: Fix abort all task initialization In… vulnerability
- CVE-2024-52870 Teradata Vantage Editor 1.0.1 is mostly intended for SQL database access and docs.teradata.com access, but provides unintended… vulnerability
- CVE-2024-56676 In the Linux kernel, the following vulnerability has been resolved: thermal: testing: Initialize some variables annoteded with _free()… vulnerability
- CVE-2024-53845 ESPTouch is a connection protocol for internet of things devices. vulnerability
- CVE-2024-50076 In the Linux kernel, the following vulnerability has been resolved: vt: prevent kernel-infoleak in con_font_get() font.data may not… vulnerability
- CVE-2024-9780 ITS dissector crash in Wireshark 4.4.0 allows denial of service via packet injection or crafted capture file vulnerability
- CVE-2024-8178 The ctl_write_buffer and ctl_read_buffer functions allocated memory to be returned to userspace, without initializing it. vulnerability
- CVE-2024-43873 In the Linux kernel, the following vulnerability has been resolved: vhost/vsock: always initialize seqpacket_allow There are two issues… vulnerability
- CVE-2024-32945 Mattermost Mobile Apps versions <=2.16.0 fail to protect against abuse of a globally shared MathJax state which allows an attacker to… vulnerability
- CVE-2024-26635 In the Linux kernel, the following vulnerability has been resolved: llc: Drop support for ETH_P_TR_802_2. vulnerability
- CVE-2024-27913 ospf_te_parse_te in ospfd/ospf_te.c in FRRouting (FRR) through 9.1 allows remote attackers to cause a denial of service (ospfd daemon… vulnerability
- CVE-2023-5138 Glitch detection is not enabled by default for the CortexM33 core in Silicon Labs secure vault high parts EFx32xG2xB, except EFR32xG21B. vulnerability
- CVE-2022-1016 A flaw was found in the Linux kernel in net/netfilter/nf_tables_core.c:nft_do_chain, which can cause a use-after-free. vulnerability
- CVE-2022-0175 A flaw was found in the VirGL virtual OpenGL renderer (virglrenderer). vulnerability
- CVE-2021-0946 The method PVRSRVBridgePMRPDumpSymbolicAddr allocates puiMemspaceNameInt on the heap, fills the contents of the buffer via… vulnerability
- CVE-2021-0947 The method PVRSRVBridgeTLDiscoverStreams allocates puiStreamsInt on the heap, fills the contents of the buffer via… vulnerability
- CVE-2022-29968 An issue was discovered in the Linux kernel through 5.17.5. vulnerability
- CVE-2022-0382 An information leak flaw was found due to uninitialized memory in the Linux kernel's TIPC protocol subsystem, in the way a user sends a… vulnerability
- CVE-2021-40403 An information disclosure vulnerability exists in the pick-and-place rotation parsing functionality of Gerbv 2.7.0 and dev (commit… vulnerability