CWE-126 缓冲区上溢读取 类弱点 417 条 CVE 漏洞汇总,含 AI 中文分析。
CWE-126 缓冲区过读是一种内存安全漏洞,指程序通过索引或指针访问了目标缓冲区之后的非法内存区域。攻击者利用此缺陷可读取敏感数据或引发程序崩溃,进而可能导致信息泄露或拒绝服务。开发者应避免此类问题,需严格验证内存访问边界,确保读写操作不超出缓冲区合法范围,并采用安全的内存管理函数以防止越界访问。
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; }int main(int argc, char **argv) { char Filename[256]; char Pattern[32]; /* Validate number of parameters and ensure valid content */ ... /* copy filename parameter to variable, may cause off-by-one overflow */ strncpy(Filename, argv[1], sizeof(Filename)); /* copy pattern parameter to variable, may cause off-by-one overflow */ strncpy(Pattern, argv[2], sizeof(Pattern)); printf("Searching file: %s for the pattern: %s\n", Filename, Pattern); Scan_File(Filename, Pattern); }/* copy filename parameter to variable, no off-by-one overflow */ strncpy(Filename, argv[2], sizeof(Filename)-1); Filename[255]='\0'; /* copy pattern parameter to variable, no off-by-one overflow */ strncpy(Pattern, argv[3], sizeof(Pattern)-1); Pattern[31]='\0';CWE-126(缓冲区上溢读取) 是常见的弱点类别,本平台收录该类弱点关联的 417 条 CVE 漏洞。