CWE-193 Off-by-one错误 类弱点 93 条 CVE 漏洞汇总,含 AI 中文分析。
CWE-193 属于边界计算错误,指软件在计算或使用时,最大值或最小值偏离正确值一个单位。攻击者常利用此缺陷触发缓冲区溢出或逻辑绕过,从而执行恶意代码或破坏系统完整性。开发者应避免此类问题,需严格验证边界条件,使用安全的数组访问函数,并在代码审查中重点关注循环终止条件和索引计算逻辑,确保数值处理精确无误。
int i; unsigned int numWidgets; Widget **WidgetList; numWidgets = GetUntrustedSizeValue(); if ((numWidgets == 0) || (numWidgets > MAX_NUM_WIDGETS)) { ExitError("Incorrect number of widgets requested!"); } WidgetList = (Widget **)malloc(numWidgets * sizeof(Widget *)); printf("WidgetList ptr=%p\n", WidgetList); for(i=0; i<numWidgets; i++) { WidgetList[i] = InitializeWidget(); } WidgetList[numWidgets] = NULL; showWidgets(WidgetList);
char firstname[20]; char lastname[20]; char fullname[40]; fullname[0] = '\0'; strncat(fullname, firstname, 20); strncat(fullname, lastname, 20);
char firstname[20]; char lastname[20]; char fullname[40]; fullname[0] = '\0'; strncat(fullname, firstname, sizeof(fullname)-strlen(fullname)-1); strncat(fullname, lastname, sizeof(fullname)-strlen(fullname)-1);
CWE-193(Off-by-one错误) 是常见的弱点类别,本平台收录该类弱点关联的 93 条 CVE 漏洞。