This vulnerability occurs when a program reads data from a memory buffer using an index or pointer that points beyond the buffer's allocated boundary, accessing unintended memory locations.

Buffer over-reads happen when software fails to properly validate that a read operation stays within the bounds of a buffer. This can lead to the exposure of sensitive information stored in adjacent memory, cause crashes, or create unexpected program behavior. It's a common pitfall when using low-level languages like C/C++ with functions that don't inherently check boundaries, or when manual bounds checking logic contains errors. Detecting these flaws manually across a large codebase is challenging. While SAST tools can identify the risky patterns, Plexicus uses AI to not only find them but also generate specific, context-aware fixes—transforming a security finding into a ready-to-apply code suggestion. This automates the remediation step, helping developers secure their applications faster and more consistently.
Impact: Read Memory
Impact: Bypass Protection Mechanism
By reading out-of-bounds memory, an attacker might be able to get secret values, such as memory addresses, which can bypass protection mechanisms such as ASLR in order to improve the reliability and likelihood of exploiting a separate weakness to achieve code execution instead of just denial of service.
Impact: DoS: Crash, Exit, or Restart
An attacker might be able to cause a crash or other denial of service by causing the product to read a memory location that is not allowed (such as a segmentation fault), or to cause other conditions in which the read operation returns more data than is expected.
c
// get message from socket and store into buffer*
c
c
// process message* success = processMessage(message);} return success;}
c
/* Validate number of parameters and ensure valid content / ...
c/* copy filename parameter to variable, no off-by-one overflow / strncpy(Filename, argv[2], sizeof(Filename)-1); Filename[255]='\0';
c