CVE-2006-5218 (CNNVD-200610-129)
中文标题:
OpenBSD systrace 内核组件本地整数溢出漏洞
英文标题:
Integer overflow in the systrace_preprepl function (STRIOCREPLACE) in systrace in OpenBSD 3.9 and Ne...
漏洞描述
中文描述:
OpenBSD是一款开放源代码Unix类操作系统,OpenBSD的systrace功能可以允许或拒绝被管理进程所执行的syscall。 systrace的内核组件中存在整数溢出漏洞,攻击者可以通过在systrace ioctl()中指定很大的整数值触发这个漏洞,导致绕过安全检查、向任意内核地址越界写入空字节或读取内核内存块。 漏洞代码在systrace_preprepl函数中: for (i = 0, len = 0; i < repl->strr_nrepl; i++) { len += repl->strr_offlen[i]; if (repl->strr_offlen[i] == 0) continue; if (repl->strr_offlen[i] + repl->strr_off[i] > len) return (EINVAL); } /* Make sure that the length adds up */ if (repl->strr_len != len) return (EINVAL); /* Check against a maximum length */ if (repl->strr_len > 2048) return (EINVAL); 这里strr_offlen[i] + strr_off[i]可能溢出,导致攻击者可以选择很大数值的strr_offlen或strr_off;len变量也存在整数溢出,轻易地满足strr_len <= 2048这个条件。然后在systrace_replace中就会使用攻击者所提供的超大值: if (repl->strr_flags[i] & SYSTR_NOLINKS) { ret = systrace_fname(strp, kdata, repl->strr_offlen[i]); 在systrace_fname中: int systrace_fname(struct str_process *strp, caddr_t kdata, size_t len) { if (strp->nfname >= SYSTR_MAXFNAME || len < 1) return EINVAL; strp->fname[strp->nfname] = kdata; strp->fname[strp->nfname][len - 1] = '\0'; strp->nfname++; return 0; } len是被攻击者随意控制的,导致向内核空间写入空字节。此外,在systrace_replace使用这个攻击者控制的长度拷贝出用户空间,可能导致窃取内核内存的内容: if (copyout(kdata, udata, repl->strr_offlen[i])) { ret = EINVAL; goto out; }
英文描述:
Integer overflow in the systrace_preprepl function (STRIOCREPLACE) in systrace in OpenBSD 3.9 and NetBSD 3 allows local users to cause a denial of service (crash), gain privileges, or read arbitrary kernel memory via large numeric arguments to the systrace ioctl.
CWE类型:
标签:
受影响产品
| 厂商 | 产品 | 版本 | 版本范围 | 平台 | CPE |
|---|---|---|---|---|---|
| netbsd | netbsd | 3.0 | - | - |
cpe:2.3:o:netbsd:netbsd:3.0:*:*:*:*:*:*:*
|
| openbsd | openbsd | 3.8 | - | - |
cpe:2.3:o:openbsd:openbsd:3.8:*:*:*:*:*:*:*
|
| openbsd | openbsd | 3.9 | - | - |
cpe:2.3:o:openbsd:openbsd:3.9:*:*:*:*:*:*:*
|
解决方案
中文解决方案:
英文解决方案:
临时解决方案:
参考链接
CVSS评分详情
AV:L/AC:L/Au:N/C:P/I:P/A:P
时间信息
利用信息
数据源详情
| 数据源 | 记录ID | 版本 | 提取时间 |
|---|---|---|---|
| CVE | cve_CVE-2006-5218 |
2025-11-11 15:17:45 | 2025-11-11 07:32:37 |
| NVD | nvd_CVE-2006-5218 |
2025-11-11 14:51:51 | 2025-11-11 07:41:23 |
| CNNVD | cnnvd_CNNVD-200610-129 |
2025-11-11 15:08:53 | 2025-11-11 07:49:10 |
版本与语言
安全公告
变更历史
查看详细变更
- vulnerability_type: 未提取 -> 授权问题
- cnnvd_id: 未提取 -> CNNVD-200610-129
- data_sources: ['cve', 'nvd'] -> ['cnnvd', 'cve', 'nvd']
查看详细变更
- cvss_score: 未提取 -> 4.6
- cvss_vector: NOT_EXTRACTED -> AV:L/AC:L/Au:N/C:P/I:P/A:P
- cvss_version: NOT_EXTRACTED -> 2.0
- affected_products_count: 0 -> 3
- data_sources: ['cve'] -> ['cve', 'nvd']