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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CWE-789 (未经控制的内存分配) — Vulnerability Class 240

240 vulnerabilities classified as CWE-789 (未经控制的内存分配). AI Chinese analysis included.

CWE-789 represents a critical memory management weakness where software allocates resources based on unvalidated, excessively large size values provided by external inputs. This flaw typically arises when developers fail to enforce upper bounds on integer parameters before invoking allocation functions, allowing attackers to supply maliciously crafted values that trigger massive memory consumption. Exploitation often leads to denial-of-service conditions through system exhaustion or resource starvation, potentially destabilizing the entire host environment. To mitigate this risk, developers must implement rigorous input validation strategies that strictly check size parameters against predefined, safe thresholds before any allocation occurs. Additionally, utilizing language-specific bounds checking mechanisms and static analysis tools can help identify potential overflows early in the development lifecycle, ensuring that memory requests remain within acceptable operational limits and preventing arbitrary resource depletion.

MITRE CWE Description
The product allocates memory based on an untrusted, large size value, but it does not ensure that the size is within expected limits, allowing arbitrary amounts of memory to be allocated.
Common Consequences (1)
Availability DoS: Resource Consumption (Memory)
Not controlling memory allocation can result in a request for too much system memory, possibly leading to a crash of the application due to out-of-memory conditions, or the consumption of a large amount of memory on the system.
Mitigations (2)
Implementation, Architecture and Design Perform adequate input validation against any value that influences the amount of memory that is allocated. Define an appropriate strategy for handling requests that exceed the limit, and consider supporting a configuration option so that the administrator can extend the amount of memory to be used if necessary.
Operation Run your program using system-provided resource limits for memory. This might still cause the program to crash or exit, but the impact to the rest of the system will be minimized.
Examples (2)
Consider the following code, which accepts an untrusted size value and allocates a buffer to contain a string of the given size.
unsigned int size = GetUntrustedInt(); /* ignore integer overflow (CWE-190) for this example */ unsigned int totBytes = size * sizeof(char); char *string = (char *)malloc(totBytes); InitializeString(string);
Bad · C
Consider the following code, which accepts an untrusted size value and uses the size as an initial capacity for a HashMap.
unsigned int size = GetUntrustedInt(); HashMap list = new HashMap(size);
Bad · Java
CVE ID Title CVSS Severity Published
CVE-2026-115417 Memory allocation with excessive size value in the MQTT 3.1.1 compatibility adapter in aws-c-mqtt — aws-c-mqtt 7.5 High 2026-10-22
CVE-2026-115394 Ghidra through 12.2 Denial of Service via BinaryField Memory Allocation — ghidra 5.5 Medium 2026-10-22
CVE-2026-56387 Apache bRPC: Remote Memory Exhaustion in RTMP AMF Parser — Apache bRPC - - 2026-10-21
CVE-2026-113604 Ghidra 10.2 through 12.1.4 Denial of Service via ELF Loader Extended Header Counts — ghidra 5.5 Medium 2026-10-20
CVE-2026-112399 Pillow: APNG background disposal allocates full canvas before decompression bomb check — Pillow 8.7 High 2026-10-19
CVE-2026-112283 libbluray through 1.5.1 Uncontrolled Memory Allocation via _parse_extent_start_points — libbluray 5.5 Medium 2026-10-19
CVE-2026-112214 Gstreamer1-plugins-ugly-free: gstreamer1-plugins-ugly-free: unbounded memory allocation in asfdemux simple index parser — Red Hat Enterprise Linux 10 6.5 Medium 2026-10-19
CVE-2026-112048 libspatialite through 5.1.0 Uncontrolled Memory Allocation via ParseWkbPolygon Ring Count — libspatialite 6.1 Medium 2026-10-18
CVE-2026-111279 Dragonfly through 2.0.2 Unbounded Memory Allocation via Negative COUNT in HRANDFIELD, ZRANDMEMBER and SRANDMEMBER — dragonfly 7.5 High 2026-10-15
CVE-2026-110258 OW2 ASM 3.0 before 9.11 Excessive Memory Allocation via Multiple RET Instructions — ASM 5.5 Medium 2026-10-14
CVE-2026-110257 OW2 ASM 5.0 before 9.11 Excessive Memory Allocation via BootstrapMethods Attribute — ASM 5.5 Medium 2026-10-14
CVE-2026-85324 Active Directory Federation Services (AD FS) Denial of Service Vulnerability — Windows 10 Version 1607 7.5 High 2026-10-13
CVE-2026-109149 beautifier js-beautify memory allocation — js-beautify 5.3 Medium 2026-10-13
CVE-2020-37280 cbor-sync through 1.0.4 Memory Exhaustion via Unchecked CBOR Array Lengths — cbor-sync 7.5 High 2026-10-12
CVE-2026-108683 zhayujie CowAgent Media Download memory allocation — CowAgent 4.3 Medium 2026-10-11
CVE-2026-97853 Unbounded allocation in decimal Decimal.round/3 driven by the places argument enables DoS — decimal 6.9 Medium 2026-10-10
CVE-2026-108106 Xerial snappy-java before 1.1.10.9 Unbounded Memory Allocation Denial of Service — snappy-java 7.5 High 2026-10-09
CVE-2026-107390 music-metadata: MP4 parser allows memory exhaustion via oversized extended atom length — music-metadata 6.2 Medium 2026-10-08
CVE-2026-107389 music-metadata: EBML parser trusts element lengths, allowing memory exhaustion or process abort — music-metadata 6.2 Medium 2026-10-08
CVE-2026-107388 music-metadata: ID3v2 tag size not validated before allocation, causing memory exhaustion DoS — music-metadata 6.2 Medium 2026-10-08
CVE-2026-107387 music-metadata: Uncontrolled memory allocation in APEv2 parser — music-metadata 6.2 Medium 2026-10-08
CVE-2026-107223 Excelize: Unbounded <col max> attribute is loaded with no MaxColumns check and expanded per-column by flatCols(), so any column mutator hangs or OOMs the process — excelize 7.1 High 2026-10-07
CVE-2026-107215 Excelize: extractPart allocates attacker-controlled, unbounded and negative-sized buffers from CFB directory entries: remote panic / OOM DoS — excelize 7.5 High 2026-10-07
CVE-2026-106453 yawkat LZ4 Java: LZ4DecompressorWithLength allocates the unvalidated size from the 4-byte length header, so a 5-byte input triggers a 1 GiB allocation and OutOfMemoryError — lz4-java 5.3 Medium 2026-10-06
CVE-2026-106452 yawkat LZ4 Java: LZ4BlockInputStream allocates an unvalidated compressed length from the stream header — lz4-java 5.3 Medium 2026-10-06
CVE-2026-103005 Memory Allocation with Excessive Size Value in Elasticsearch Leading to Denial of Service — Elasticsearch 6.5 Medium 2026-10-06
CVE-2026-106114 ImageSharp: ICC CLUT parsing allocates from unvalidated channel and grid dimensions — ImageSharp 5.3 Medium 2026-10-06
CVE-2026-77050 Potential denial-of-service vulnerability in get_supported_language_variant() — Django 5.3 Medium 2026-10-06
CVE-2026-93323 Oversized Dockerfile or .dockerignore can exhaust buildkitd memory — BuildKit 6.8 Medium 2026-10-05
CVE-2026-83745 Apache Thrift, Apache Thrift: WebSocket frame decoders allocate the payload buffer from the declared length, not the bytes received (Node.js, D) — Apache Thrift 8.7 High 2026-10-02

Vulnerabilities classified as CWE-789 (未经控制的内存分配) represent 240 CVEs. The CWE taxonomy describes the weakness; review individual CVEs for product-specific impact.