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

目标: 1000 元 · 已筹: 1000

100.0%

CWE-122 堆缓冲区溢出 类漏洞列表 1859

CWE-122 堆缓冲区溢出 类弱点 1859 条 CVE 漏洞汇总,含 AI 中文分析。

CWE-122 堆缓冲区溢出属于内存安全漏洞,指写入数据超出在堆内存(如通过 malloc 分配)中分配的缓冲区边界。攻击者利用此漏洞可覆盖相邻内存数据,导致程序崩溃或执行任意代码,从而获取系统控制权。开发者应避免此类风险,需严格验证输入长度,确保写入操作不超出缓冲区上限,并使用现代安全语言或库来自动管理内存边界。

MITRE CWE 官方描述
CWE:CWE-122 基于堆的缓冲区溢出(Heap-based Buffer Overflow) 英文:堆溢出(Heap overflow)条件是一种缓冲区溢出(Buffer overflow),其中可被覆盖的缓冲区(Buffer)是在内存的堆(Heap)部分分配的,通常意味着该缓冲区是使用 malloc() 等例程分配的。
常见影响 (3)
AvailabilityDoS: Crash, Exit, or Restart, DoS: Resource Consumption (CPU), DoS: Resource Consumption (Memory)
Buffer overflows generally lead to crashes. Other attacks leading to lack of availability are possible, including putting the program into an infinite loop.
Integrity, Confidentiality, Availability, Access ControlExecute Unauthorized Code or Commands, Bypass Protection Mechanism, Modify Memory
Buffer overflows often can be used to execute arbitrary code, which is usually outside the scope of a program's implicit security policy. Besides important user data, heap-based overflows can be used to overwrite function pointers that may be living in memory, pointing it to the attacker's code. Eve…
Integrity, Confidentiality, Availability, Access Control, OtherExecute Unauthorized Code or Commands, Bypass Protection Mechanism, Other
When the consequence is arbitrary code execution, this can often be used to subvert any other security service.
缓解措施 (5)
Pre-design: Use a language or compiler that performs automatic bounds checking.
Architecture and DesignUse an abstraction library to abstract away risky APIs. Not a complete solution.
Operation, Build and CompilationUse automatic buffer overflow detection mechanisms that are offered by certain compilers or compiler extensions. Examples include: the Microsoft Visual Studio /GS flag, Fedora/Red Hat FORTIFY_SOURCE GCC flag, StackGuard, and ProPolice, which provide various mechanisms including canary-based detection and range/index checking. D3-SFCV (Stack Frame Canary Validation) from D3FEND [REF-1334] discusses…
Effectiveness: Defense in Depth
Operation, Build and CompilationRun or compile the software using features or extensions that randomly arrange the positions of a program's executable and libraries in memory. Because this makes the addresses unpredictable, it can prevent an attacker from reliably jumping to exploitable code. Examples include Address Space Layout Randomization (ASLR) [REF-58] [REF-60] and Position-Independent Executables (PIE) [REF-64]. Imported…
Effectiveness: Defense in Depth
ImplementationImplement and perform bounds checking on input.
代码示例 (2)
While buffer overflow examples can be rather complex, it is possible to have very simple, yet still exploitable, heap-based buffer overflows:
#define BUFSIZE 256 int main(int argc, char **argv) { char *buf; buf = (char *)malloc(sizeof(char)*BUFSIZE); strcpy(buf, argv[1]); }
Bad · C
This example applies an encoding procedure to an input string and stores it into a buffer.
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 &lt; */ } else dst_buf[dst_index++] = user_supplied_string[i]; } return ds
Bad · C
CVE ID标题CVSS风险等级Published
CVE-2018-3858 ACD Systems Canvas Draw 缓冲区错误漏洞 — Canvas Draw 7.8 -2018-07-19
CVE-2018-10840 Linux kernel 缓冲区错误漏洞 — heap-based buffer overflow in fs/ext4/xattr.c 7.8 -2018-07-16
CVE-2018-1120 Linux kernel 缓冲区错误漏洞 — kernel 6.3 -2018-06-20
CVE-2018-10617 Delta Industrial Automation DOPSoft 缓冲区错误漏洞 — Delta Industrial Automation DOPSoft 9.8 -2018-06-18
CVE-2018-4833 多款Siemens产品输入验证错误漏洞 — RFID 181EIP 8.8 -2018-06-14
CVE-2018-8871 Delta Electronics Automation TPEditor 缓冲区错误漏洞 — Automation TPEditor 9.8 -2018-05-25
CVE-2018-1123 procps-ng 安全漏洞 — procps-ng, procps 7.5 -2018-05-23
CVE-2018-10488 Foxit Reader 缓冲区错误漏洞 — Foxit Reader 8.8 -2018-05-17
CVE-2018-9947 Foxit Reader 安全漏洞 — Foxit Reader 8.8 -2018-05-17
CVE-2018-9949 Foxit Reader 缓冲区错误漏洞 — Foxit Reader 8.8 -2018-05-17
CVE-2018-9974 Foxit Reader 缓冲区错误漏洞 — Foxit Reader 8.8 -2018-05-17
CVE-2018-8845 多款Advantech产品缓冲区错误漏洞 — WebAccess 9.8 -2018-05-15
CVE-2018-1089 Red Hat 389-ds-base 安全漏洞 — 389-ds-base 7.5 -2018-05-09
CVE-2018-7507 Delta Electronics WPLSoft 缓冲区错误漏洞 — Delta Electronics WPLSoft 8.8 -2018-05-04
CVE-2017-2591 Red Hat 389 Directory Server attribute uniqueness插件缓冲区错误漏洞 — 389-ds-base 7.5 -2018-04-30
CVE-2018-8833 Advantech WebAccess HMI Designer 缓冲区错误漏洞 — Advantech WebAccess HMI Designer 7.8 -2018-04-25
CVE-2016-9586 Haxx curl 缓冲区错误漏洞 — curl 9.8 -2018-04-23
CVE-2018-8834 Omron CX-One多个软件缓冲区错误漏洞 — Omron CX-One 7.8 -2018-04-17
CVE-2017-9636 Mitsubishi Electric E-Designer 缓冲区错误漏洞 — E-Designer 9.8 -2018-04-17
CVE-2018-7519 Omron CX-Supervisor 缓冲区错误漏洞 — Omron CX-Supervisor 5.3 -2018-03-21
CVE-2018-1165 Joyent SmartOS 缓冲区错误漏洞 — Joyent SmartOS 7.0 -2018-02-21
CVE-2017-16737 WECON Technology LEVI Studio HMI Editor 缓冲区错误漏洞 — WECON Technology Co., Ltd. LeviStudio HMI Editor 7.8 -2018-01-12
CVE-2017-16717 WECON LeviStudio HMI 缓冲区错误漏洞 — WECON Technology Co., Ltd. LeviStudio HMI 9.8 -2017-12-20
CVE-2017-13090 GNU Wget 缓冲区错误漏洞 — Wget 9.8 -2017-10-27
CVE-2017-12704 Advantech WebAccess 缓冲区错误漏洞 — Advantech WebAccess 8.8 -2017-08-30
CVE-2017-7555 Augeas 缓冲区错误漏洞 — augeas 9.8 -2017-08-17
CVE-2017-6037 Wecon Technologies LEVI Studio HMI Editor 缓冲区错误漏洞 — Wecon Technologies LEVI Studio HMI Editor 8.8 -2017-04-27
CVE-2014-0789 多款Schneider Electric OFS产品缓冲区溢出漏洞 — OPC Factory Server (OFS) 7.5 -2014-04-04
CVE-2014-0781 Yokogawa CENTUM CS 基于堆的缓冲区溢出漏洞 — CENTUM CS 3000 9.8 -2014-03-14

CWE-122(堆缓冲区溢出) 是常见的弱点类别,本平台收录该类弱点关联的 1859 条 CVE 漏洞。