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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CWE-125 (跨界内存读) — Vulnerability Class 4338

4338 vulnerabilities classified as CWE-125 (跨界内存读). AI Chinese analysis included.

CWE-125, Out-of-bounds Read, is a memory safety weakness where software accesses memory locations outside the designated buffer boundaries, either before its start or past its end. This vulnerability typically arises from insufficient bounds checking during array indexing or pointer arithmetic, allowing attackers to read sensitive data such as stack canaries, cryptographic keys, or internal application state. By leveraging this flaw, adversaries can achieve information disclosure or potentially facilitate further exploitation techniques like heap spraying. Developers mitigate this risk by implementing rigorous input validation, utilizing static analysis tools to detect unsafe memory access patterns, and adopting safer programming languages or libraries that enforce automatic bounds checking. Additionally, employing compiler protections like Address Sanitizer during development helps identify these errors early, ensuring that memory reads remain strictly within allocated limits to prevent unauthorized data exposure.

MITRE CWE Description
The product reads data past the end, or before the beginning, of the intended buffer.
Common Consequences (4)
Confidentiality Read Memory
An attacker could get secret values such as cryptographic keys, PII, memory addresses, or other information that could be used in additional attacks.
Confidentiality Bypass Protection Mechanism
Out-of-bounds memory could contain memory addresses or other information that can be used to bypass ASLR and other protection mechanisms in order to improve the reliability of exploiting a separate weakness for code execution.
Availability DoS: Crash, Exit, or Restart
An attacker could cause a segmentation fault or crash by causing memory to be read outside of the bounds of the buffer. This is especially likely when the code reads a variable amount of data and assumes that a sentinel exists to stop the read operation, such as a NUL in a string.
Other Varies by Context
The read operation could produce other undefined or unexpected results.
Mitigations (2)
Implementation Assume all input is malicious. Use an "accept known good" input validation strategy, i.e., use a list of acceptable inputs that strictly conform to specifications. Reject any input that does not strictly conform to specifications, or transform it into something that does. When performing input validation, consider all potentially relevant properties, including length, type of input, the full range…
Architecture and Design Use a language that provides appropriate memory abstractions.
Examples (2)
In the following code, the method retrieves a value from an array at a specific array index location that is given as an input parameter to the method
int getValueFromArray(int *array, int len, int index) { int value; // check that the array index is less than the maximum // length of the array if (index < len) { // get the value at the specified index of the array value = array[index]; } // if array index is invalid then output error message // and return value indicating error else { printf("Value is: %d\n", array[index]); value = -1; } return value; }
Bad · C
... // check that the array index is within the correct // range of values for the array if (index >= 0 && index < len) { ...
Good · C
In the following C/C++ example the method processMessageFromSocket() will get a message from a socket, placed into a buffer, and will parse the contents of the buffer into a structure that contains the message length and the message body. A for loop is used to copy the message body into a local character string which will be passed to another method for processing.
int processMessageFromSocket(int socket) { int success; char buffer[BUFFER_SIZE]; char message[MESSAGE_SIZE]; // get message from socket and store into buffer //Ignoring possibliity that buffer > BUFFER_SIZE if (getMessage(socket, buffer, BUFFER_SIZE) > 0) { // place contents of the buffer into message structure ExMessage *msg = recastBuffer(buffer); // copy message body into string for processing int index; for (index = 0; index < msg->msgLength; index++) { message[index] = msg->msgBody[index]; } message[index] = '\0'; // process message success = processMessage(message); } return success; }
Bad · C
CVE ID Title CVSS Severity Published
CVE-2026-78546 Out-of-Bounds Read — Workspace app for Windows 4.8 Medium 2026-09-11
CVE-2026-13326 Out-of-bounds read and integer underflow vulnerability in QNdefNfcTextRecord impacts Qt NFC module — qt 6.9 Medium 2026-09-11
CVE-2026-89160 PCRE2 缓冲区错误漏洞 — PCRE2 3.7 Low 2026-09-11
CVE-2026-89156 PCRE2 缓冲区错误漏洞 — PCRE2 2.9 Low 2026-09-11
CVE-2026-16172 Netskope Endpoint DLP Service Out-of-Bounds Read Leading to Process Crash — Endpoint DLP 6.0 Medium 2026-09-10
CVE-2026-49837 GoBGP: BGP OPEN capability parser may read capability values outside declared CapLen boundaries — gobgp 5.9 Medium 2026-09-10
CVE-2026-88054 Tesseract: Denial of service via empty-stack dereference in Plumbing/Series at model load — tesseract 6.9 Medium 2026-09-10
CVE-2026-89046 zstd-jni 1.5.5-6 through 1.5.7-13 Out-of-Bounds Read via Negative Offset — zstd-jni 8.2 High 2026-09-10
CVE-2026-88048 Tesseract: Heap out-of-bounds write/read in FullyConnected::Forward via layer/weight-matrix dimension mismatch — tesseract 8.6 High 2026-09-10
CVE-2026-87961 ESP32-audioI2S 3.4.4 through 4.0.0 Heap-based Out-of-Bounds Read via Shadowed Length Parameter in read_ID3_Header — ESP32-audioI2S 7.1 High 2026-09-10
CVE-2026-42806 Bosch Sensortec BME690 SensorAPI 缓冲区错误漏洞 — BME690 SensorAPI (C) 4.3 Medium 2026-09-10
CVE-2026-87875 Cups: openprinting cups: heap out-of-bounds read in cupsutf32toutf8() via missing source-length bound — Red Hat Hardened Images 4.3 Medium 2026-09-09
CVE-2026-22590 Fast-DDS Discovery Server: Out-of-Bounds Read & Heap Memory Disclosure via DATA_FRAG  sampleSize / fragmentsInSubmessage — Fast-DDS 9.1 Critical 2026-09-09
CVE-2026-87824 zstd-jni 1.3.3-1 through 1.5.7-13 Out-of-Bounds Read via Zstd.trainFromBufferDirect — zstd-jni 7.5 High 2026-09-09
CVE-2026-73324 VLC media player 3.0.0 through 3.0.23 information disclosure vulnerability — VLC media player 4.3 Medium 2026-09-09
CVE-2026-87795 zstd-jni 1.2.0 through 1.5.7-13 Out-of-Bounds Read via ZstdDictCompress — zstd-jni 8.2 High 2026-09-09
CVE-2026-87736 OCaml mirage-crypto-ec 缓冲区错误漏洞 — mirage-crypto-ec 4.3 Medium 2026-09-09
CVE-2026-81646 Huawei HarmonyOS 缓冲区错误漏洞 — HarmonyOS 5.9 Medium 2026-09-09
CVE-2026-49314 Huawei HarmonyOS 缓冲区错误漏洞 — HarmonyOS 7.3 High 2026-09-09
CVE-2026-87602 Google Chrome 缓冲区错误漏洞 — Chrome - - 2026-09-09
CVE-2026-87592 Google Chrome 缓冲区错误漏洞 — Chrome - - 2026-09-09
CVE-2026-87586 Google Chrome 缓冲区错误漏洞 — Chrome - - 2026-09-09
CVE-2026-87640 Google Chrome 缓冲区错误漏洞 — Chrome - - 2026-09-09
CVE-2026-87604 Google Chrome 缓冲区错误漏洞 — Chrome - - 2026-09-09
CVE-2026-87596 Google Chrome 缓冲区错误漏洞 — Chrome - - 2026-09-09
CVE-2026-87650 Google Chrome 缓冲区错误漏洞 — Chrome - - 2026-09-09
CVE-2026-87525 Google Chrome 缓冲区错误漏洞 — Chrome - - 2026-09-09
CVE-2026-87440 Google Chrome 缓冲区错误漏洞 — Chrome - - 2026-09-09
CVE-2026-61908 The Cyrus Team Cyrus IMAP 缓冲区错误漏洞 — Cyrus IMAP 3.1 Low 2026-09-09
CVE-2026-86564 Dpdk: dpdk: missing length validation before reading command_data in virtio-net control queue handler — Fast Datapath for RHEL 10 3.3 Low 2026-09-08

Vulnerabilities classified as CWE-125 (跨界内存读) represent 4338 CVEs. The CWE taxonomy describes the weakness; review individual CVEs for product-specific impact.