目标达成 感谢每一位支持者 — 我们达成了 100% 目标!

目标: 1000 元 · 已筹: 1359 元

100%

CWE-193 Off-by-one错误 类漏洞列表 93

CWE-193 Off-by-one错误 类弱点 93 条 CVE 漏洞汇总,含 AI 中文分析。

CWE-193 属于边界计算错误,指软件在计算或使用时,最大值或最小值偏离正确值一个单位。攻击者常利用此缺陷触发缓冲区溢出或逻辑绕过,从而执行恶意代码或破坏系统完整性。开发者应避免此类问题,需严格验证边界条件,使用安全的数组访问函数,并在代码审查中重点关注循环终止条件和索引计算逻辑,确保数值处理精确无误。

MITRE CWE 官方描述
CWE:CWE-193 Off-by-one Error 英文:产品计算或使用了一个错误的最大值或最小值,该值比正确值大 1 或小 1。
常见影响 (3)
Availability DoS: Crash, Exit, or Restart, DoS: Resource Consumption (CPU), DoS: Resource Consumption (Memory), DoS: Instability
This weakness will generally lead to undefined behavior and therefore crashes. In the case of overflows involving loop index variables, the likelihood of infinite loops is also high.
Integrity Modify Memory
If the value in question is important to data (as opposed to flow), simple data corruption has occurred. Also, if the wrap around results in other conditions such as buffer overflows, further memory corruption may occur.
Confidentiality, Availability, Access Control Execute Unauthorized Code or Commands, Bypass Protection Mechanism
This weakness can sometimes trigger buffer overflows which can be used to execute arbitrary code. This is usually outside the scope of a program's implicit security policy.
缓解措施 (1)
Implementation When copying character arrays or using character manipulation methods, the correct size parameter must be used to account for the null terminator that needs to be added at the end of the array. Some examples of functions susceptible to this weakness in C include strcpy(), strncpy(), strcat(), strncat(), printf(), sprintf(), scanf() and sscanf().
代码示例 (2)
The following code allocates memory for a maximum number of widgets. It then gets a user-specified number of widgets, making sure that the user does not request too many. It then initializes the elements of the array using InitializeWidget(). Because the number of widgets can vary for each request, the code inserts a NULL pointer to signify the location of the last widget.
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);
Bad · C
In this example, the code does not account for the terminating null character, and it writes one byte beyond the end of the buffer.
char firstname[20]; char lastname[20]; char fullname[40]; fullname[0] = '\0'; strncat(fullname, firstname, 20); strncat(fullname, lastname, 20);
Bad · C
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);
Good · C
CVE ID 标题 CVSS 风险等级 Published
CVE-2026-106584 OpenSSH<10.6证书过期时间错误 — OpenSSH 2.5 Low 2026-10-06
CVE-2026-104033 SSSD 通过不当 LDAP 影子过期检查绕过访问控制漏洞 — Red Hat Enterprise Linux 10 5.4 Medium 2026-10-06
CVE-2026-101014 OpenDMARC opendmarc_util.c 缓冲区溢出漏洞 — OpenDMARC 7.3 High 2026-09-28
CVE-2026-100889 OpenDKIM util.c 解码器越界读取漏洞 — OpenDKIM 7.3 High 2026-09-27
CVE-2026-18460 RTI Connext Professional 缓冲区溢出漏洞 — Connext Professional 6.9 Medium 2026-09-22
CVE-2026-83600 Netdata 流协议槽位越界致内存分配崩溃漏洞 — netdata 6.5 Medium 2026-09-22
CVE-2026-76081 ZITADEL 多角色删除时角色撤销不当 — zitadel 5.5 Medium 2026-09-14
CVE-2026-90781 Advanced Linux Sound Architecture alsa-lib 数字错误漏洞 — alsa-lib 4.4 Medium 2026-09-13
CVE-2026-86297 D-Link DIR-605 数字错误漏洞 — DIR-605 8.1 High 2026-09-07
CVE-2026-57160 PJSIP 数字错误漏洞 — pjproject 6.9 Medium 2026-09-04
CVE-2026-85454 themoos core-moos 数字错误漏洞 — core-moos 6.1 Medium 2026-09-03
CVE-2026-46369 Nimiq Proof-of-Stake 数字错误漏洞 — core-rs-albatross 7.5 High 2026-08-26
CVE-2026-65927 Apache Tomcat 数字错误漏洞 — Apache Tomcat - - 2026-08-25
CVE-2026-79148 Google Chrome 数字错误漏洞 — Chrome - - 2026-08-25
CVE-2026-68767 hashcat 数字错误漏洞 — hashcat 6.1 Medium 2026-08-22
CVE-2026-66806 Microsoft Office Word 缓冲区错误漏洞 — Microsoft 365 Apps for Enterprise 5.5 Medium 2026-08-11
CVE-2026-71391 GNU Emacs 数字错误漏洞 — Emacs 5.3 Medium 2026-08-10
CVE-2026-11771 OpenVPN 缓冲区错误漏洞 — OpenVPN 7.0 High 2026-07-30
CVE-2026-44687 NLnet Labs Unbound 数字错误漏洞 — Unbound 3.7 Low 2026-07-22
CVE-2026-50497 Microsoft Windows Remote Desktop Protocol 数字错误漏洞 — Windows 10 Version 1607 6.5 Medium 2026-07-14
CVE-2026-58380 GIMP 数字错误漏洞 — Red Hat Enterprise Linux 8 7.3 High 2026-07-06
CVE-2026-12413 The Libreswan Project libreswan 数字错误漏洞 — libreswan 7.5 High 2026-07-02
CVE-2026-7831 UltraVNC 数字错误漏洞 — UltraVNC 7.5 High 2026-07-01
CVE-2026-44042 UltraVNC 数字错误漏洞 — UltraVNC 3.7 Low 2026-07-01
CVE-2026-58014 GNOME glib 数字错误漏洞 — GLib 7.3 High 2026-06-30
CVE-2026-58374 Jouni Malinen hostapd 数字错误漏洞 — hostapd 6.5 Medium 2026-06-30
CVE-2026-56790 CANBOAT 数字错误漏洞 — canboat 7.3 High 2026-06-25
CVE-2026-56787 Tomoji Takasu RTKLIB 数字错误漏洞 — RTKLIB 6.5 Medium 2026-06-25
CVE-2026-52804 Gogs 数字错误漏洞 — gogs - - 2026-06-24
CVE-2026-54410 Valerio De Benedetto nanoMODBUS 数字错误漏洞 — nanoMODBUS 8.6 High 2026-06-14

CWE-193(Off-by-one错误) 是常见的弱点类别,本平台收录该类弱点关联的 93 条 CVE 漏洞。