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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CWE-843 (使用不兼容类型访问资源(类型混淆)) — Vulnerability Class 538

538 vulnerabilities classified as CWE-843 (使用不兼容类型访问资源(类型混淆)). AI Chinese analysis included.

CWE-843, Type Confusion, is a critical memory safety weakness where a resource is initialized with one data type but subsequently accessed using an incompatible type. This discrepancy often triggers logical errors or undefined behavior, particularly in memory-unsafe languages like C and C++, where the program misinterprets the underlying bit patterns. Attackers typically exploit this vulnerability by crafting malicious inputs that force the application to treat a pointer or object as a different type, potentially leading to arbitrary code execution, data corruption, or denial of service. To mitigate this risk, developers must enforce strict type checking and validation at runtime. Utilizing memory-safe programming languages, implementing comprehensive unit tests for type assertions, and employing static analysis tools can effectively detect these mismatches before deployment, ensuring that resources are always accessed according to their intended definitions.

MITRE CWE Description
The product allocates or initializes a resource such as a pointer, object, or variable using one type, but it later accesses that resource using a type that is incompatible with the original type. When the product accesses the resource using an incompatible type, this could trigger logical errors because the resource does not have expected properties. In languages without memory safety, such as C and C++, type confusion can lead to out-of-bounds memory access. While this weakness is frequently associated with unions when parsing data with many different embedded object types in C, it can be present in any application that can interpret the same variable or memory location in multiple ways. This weakness is not unique to C and C++. For example, errors in PHP applications can be triggered by providing array parameters when scalars are expected, or vice versa. Languages such as Perl, which perform automatic conversion of a variable of one type when it is accessed as if it were another type, can also contain these issues.
Common Consequences (1)
Availability, Integrity, Confidentiality Read Memory, Modify Memory, Execute Unauthorized Code or Commands, DoS: Crash, Exit, or Restart
When a memory buffer is accessed using the wrong type, it could read or write memory out of the bounds of the buffer, if the allocated buffer is smaller than the type that the code is attempting to access, leading to a crash and possibly code execution.
Examples (2)
The following code uses a union to support the representation of different types of messages. It formats messages differently, depending on their type.
#define NAME_TYPE 1 #define ID_TYPE 2 struct MessageBuffer { int msgType; union { char *name; int nameID; }; }; int main (int argc, char **argv) { struct MessageBuffer buf; char *defaultMessage = "Hello World"; buf.msgType = NAME_TYPE; buf.name = defaultMessage; printf("Pointer of buf.name is %p\n", buf.name); /* This particular value for nameID is used to make the code architecture-independent. If coming from untrusted input, it could be any value. */ buf.nameID = (int)(defaultMessage + 1); printf("Pointer of buf.name is now %p\n", buf.name); if (buf.msgType == NAME_TYPE) { printf("Message: %
Bad · C
The following PHP code accepts a value, adds 5, and prints the sum.
$value = $_GET['value']; $sum = $value + 5; echo "value parameter is '$value'<p>"; echo "SUM is $sum";
Bad · PHP
CVE ID Title CVSS Severity Published
CVE-2024-38218 Microsoft Edge (HTML-based) Memory Corruption Vulnerability — Microsoft Edge (Chromium-based) 8.4 High 2024-08-08
CVE-2024-37987 Secure Boot Security Feature Bypass Vulnerability — Windows 10 Version 1809 8.0 High 2024-07-09
CVE-2024-36278 Arkcompiler Ets Runtime has a type confusion vulnerability — OpenHarmony 3.3 Low 2024-07-02
CVE-2024-31071 Arkcompiler Ets Runtime has a type confusion vulnerability — OpenHarmony 3.3 Low 2024-07-02
CVE-2024-20078 MediaTek 芯片 安全漏洞 — MT6768, MT6779, MT8321, MT8385, MT8755, MT8765, MT8766, MT8768, MT8771, MT8775, MT8781, MT8786, MT8788, MT8789, MT8791T, MT8792, MT8795T, MT8796, MT8797, MT8798 6.7AI Medium AI 2024-07-01
CVE-2024-6100 Google Chrome 安全漏洞 — Chrome 8.8AI High AI 2024-06-19
CVE-2024-5597 Fuji Electric Monitouch V-SFT Type Confusion — Monitouch V-SFT 7.8 High 2024-06-10
CVE-2024-5271 Fuji Electric Monitouch V-SFT Access of Resource Using Incompatible Type ('Type Confusion') — Monitouch V-SFT 7.8 High 2024-05-30
CVE-2024-30034 Windows Cloud Files Mini Filter Driver Information Disclosure Vulnerability — Windows 10 Version 1809 5.5 Medium 2024-05-14
CVE-2024-32063 Siemens Parasolid 安全漏洞 — Simcenter Femap 7.8 High 2024-05-14
CVE-2024-32062 Siemens Parasolid 安全漏洞 — Simcenter Femap 7.8 High 2024-05-14
CVE-2024-32057 Siemens Parasolid 安全漏洞 — Simcenter Femap 7.8 High 2024-05-14
CVE-2023-51560 Foxit PDF Reader Annotation Type Confusion Remote Code Execution Vulnerability — PDF Reader 7.8 - 2024-05-03
CVE-2023-42105 Ashlar-Vellum Cobalt AR File Parsing Type Confusion Remote Code Execution Vulnerability — Cobalt 7.8 - 2024-05-03
CVE-2023-42102 Ashlar-Vellum Cobalt AR File Parsing Type Confusion Remote Code Execution Vulnerability — Cobalt 7.8 - 2024-05-03
CVE-2023-42074 PDF-XChange Editor addScript Type Confusion Remote Code Execution Vulnerability — PDF-XChange Editor 7.8 - 2024-05-03
CVE-2023-38091 Kofax Power PDF response Type Confusion Remote Code Execution Vulnerability — Power PDF 7.8 - 2024-05-03
CVE-2024-34394 libxmljs2 namespaces type confusion RCE 8.1 High 2024-05-02
CVE-2024-34393 libxmljs2 attrs type confusion RCE 8.1 High 2024-05-02
CVE-2024-34392 libxmljs namespaces type confusion RCE 8.1 High 2024-05-02
CVE-2024-34391 libxmljs attrs type confusion RCE 8.1 High 2024-05-02
CVE-2024-25575 Foxit Reader 安全漏洞 — Foxit Reader 8.8 High 2024-04-30
CVE-2024-20678 Remote Procedure Call Runtime Remote Code Execution Vulnerability — Windows 10 Version 1809 8.8 High 2024-04-09
CVE-2024-26232 Microsoft Message Queuing (MSMQ) Remote Code Execution Vulnerability — Windows 10 Version 1809 7.3 High 2024-04-09
CVE-2024-30266 Wasmtime vulnerable to panic when using a dropped extenref-typed element segment — wasmtime 3.3 Low 2024-04-04
CVE-2024-30357 Foxit PDF Reader AcroForm Annotation Type Confusion Remote Code Execution Vulnerability — PDF Reader 7.8AI High AI 2024-04-02
CVE-2024-21834 Arkui has a type confusion vulnerability — OpenHarmony 3.3 Low 2024-04-02
CVE-2023-49602 Arkui has a type confusion vulnerability — OpenHarmony 2.9 Low 2024-03-04
CVE-2024-21363 Microsoft Message Queuing (MSMQ) Remote Code Execution Vulnerability — Windows 10 Version 1507 7.8 High 2024-02-13
CVE-2024-21357 Windows Pragmatic General Multicast (PGM) Remote Code Execution Vulnerability — Windows 10 Version 1507 8.1 High 2024-02-13

Vulnerabilities classified as CWE-843 (使用不兼容类型访问资源(类型混淆)) represent 538 CVEs. The CWE taxonomy describes the weakness; review individual CVEs for product-specific impact.