CWE-119 内存缓冲区边界内操作的限制不恰当 类弱点 1100 条 CVE 漏洞汇总,含 AI 中文分析。
CWE-119 属于内存缓冲区操作限制不当漏洞,指程序在读写内存时超出缓冲区边界,导致意外访问其他变量或内部数据。攻击者通常利用此缺陷通过精心构造的输入触发缓冲区溢出,从而覆盖关键内存数据或执行任意代码,实现远程代码执行或系统崩溃。开发者应避免此类风险,需严格实施边界检查,使用安全的字符串处理函数,并启用编译器防护机制,确保所有内存操作均在合法范围内进行。
void host_lookup(char *user_supplied_addr){ struct hostent *hp; in_addr_t *addr; char hostname[64]; in_addr_t inet_addr(const char *cp); /*routine that ensures user_supplied_addr is in the right format for conversion */ validate_addr_form(user_supplied_addr); addr = inet_addr(user_supplied_addr); hp = gethostbyaddr( addr, sizeof(struct in_addr), AF_INET); strcpy(hostname, hp->h_name); }
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 ds
CWE-119(内存缓冲区边界内操作的限制不恰当) 是常见的弱点类别,本平台收录该类弱点关联的 1100 条 CVE 漏洞。