CWE-122 堆缓冲区溢出 类弱点 1859 条 CVE 漏洞汇总,含 AI 中文分析。
CWE-122 堆缓冲区溢出属于内存安全漏洞,指写入数据超出在堆内存(如通过 malloc 分配)中分配的缓冲区边界。攻击者利用此漏洞可覆盖相邻内存数据,导致程序崩溃或执行任意代码,从而获取系统控制权。开发者应避免此类风险,需严格验证输入长度,确保写入操作不超出缓冲区上限,并使用现代安全语言或库来自动管理内存边界。
#define BUFSIZE 256 int main(int argc, char **argv) { char *buf; buf = (char *)malloc(sizeof(char)*BUFSIZE); strcpy(buf, argv[1]); }char * copy_input(char *user_supplied_string){ int i, dst_index; char *dst_buf = (char*)malloc(4*sizeof(char) * MAX_SIZE); if ( MAX_SIZE <= strlen(user_supplied_string) ){ die("user string too long, die evil hacker!"); } dst_index = 0; for ( i = 0; i < strlen(user_supplied_string); i++ ){ if( '&' == user_supplied_string[i] ){ dst_buf[dst_index++] = '&'; dst_buf[dst_index++] = 'a'; dst_buf[dst_index++] = 'm'; dst_buf[dst_index++] = 'p'; dst_buf[dst_index++] = ';'; } else if ('<' == user_supplied_string[i] ){ /* encode to < */ } else dst_buf[dst_index++] = user_supplied_string[i]; } return dsCWE-122(堆缓冲区溢出) 是常见的弱点类别,本平台收录该类弱点关联的 1859 条 CVE 漏洞。