一、漏洞信息
漏洞编号:CVE-2024-43802
漏洞归属组件:vim
漏洞归属的版本:8.2,9.0,9.0.2092
CVSS V3.0分值:
BaseScore:4.5 Medium
Vector:CVSS:3.0/AV:L/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:L
漏洞简述:
Vim is an improved version of the unix vi text editor. When flushing the typeahead buffer, Vim moves the current position in the typeahead buffer but does not check whether there is enough space left in the buffer to handle the next characters. So this may lead to the tb_off position within the typebuf variable to point outside of the valid buffer size, which can then later lead to a heap-buffer overflow in e.g. ins_typebuf(). Therefore, when flushing the typeahead buffer, check if there is enough space left before advancing the off position. If not, fall back to flush current typebuf contents. It s not quite clear yet, what can lead to this situation. It seems to happen when error messages occur (which will cause Vim to flush the typeahead buffer) in comnination with several long mappgins and so it may eventually move the off position out of a valid buffer size. Impact is low since it is not easily reproducible and requires to have several mappings active and run into some error condition. But when this happens, this will cause a crash. The issue has been fixed as of Vim patch v9.1.0697. Users are advised to upgrade. There are no known workarounds for this issue.
漏洞公开时间:2024-08-27 03:15:07
漏洞创建时间:2024-08-27 11:30:57
漏洞详情参考链接:
https://nvd.nist.gov/vuln/detail/CVE-2024-43802
漏洞分析指导链接:
https://gitee.com/openeuler/cve-manager/blob/master/cve-vulner-manager/doc/md/manual.md
漏洞数据来源:
openBrain开源漏洞感知系统
漏洞补丁信息:
影响的包 | 修复版本 | 修复补丁 | 问题引入补丁 | 来源 |
---|---|---|---|---|
https://github.com/vim/vim/commit/322ba9108612bead5eb | security-advisories.github.com | |||
https://github.com/vim/vim/commit/322ba9108612bead5eb | suse_bugzilla | |||
https://github.com/vim/vim/commit/322ba9108612bead5eb7731ccb66763dec69ef1b (v9.1.0697) | ubuntu | |||
https://github.com/vim/vim/commit/322ba9108612bead5eb | ubuntu |
二、漏洞分析结构反馈
影响性分析说明:
vim组件的src/getchar.c文件中flush_buffers()函数存在缓冲区溢出漏洞,当刷新 typeahead 缓冲区时,Vim 会移动 typeahead 缓冲区中的当前位置,但不检查缓冲区中是否有足够的空间来处理下一个字符。因此,这可能会导致 typebuf 变量中的 tb_off 位置指向有效缓冲区大小之外,可能导致 ins_typebuf() 中的堆缓冲区溢出。这会导致程序异常和崩溃问题。
openEuler评分:
4.5
Vector:CVSS:3.0/AV:L/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:L
受影响版本排查(受影响/不受影响):
1.master(9.0.2092):受影响
2.openEuler-20.03-LTS-SP4(9.0):受影响
3.openEuler-22.03-LTS-SP1(9.0):受影响
4.openEuler-22.03-LTS-SP3(9.0):受影响
5.openEuler-22.03-LTS-SP4(9.0):受影响
6.openEuler-24.03-LTS(9.0.2092):受影响
7.openEuler-24.03-LTS-Next(9.0.2092):受影响
修复是否涉及abi变化(是/否):
1.master(9.0.2092):否
2.openEuler-20.03-LTS-SP4(9.0):否
3.openEuler-22.03-LTS-SP1(9.0):否
4.openEuler-22.03-LTS-SP3(9.0):否
5.openEuler-22.03-LTS-SP4(9.0):否
6.openEuler-24.03-LTS(9.0.2092):否
7.openEuler-24.03-LTS-Next(9.0.2092):否
三、漏洞修复
安全公告链接:https://www.openeuler.org/zh/security/safety-bulletin/detail/?id=openEuler-SA-2024-2115
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
参考网址 | 关联pr | 状态 | 补丁链接 |
---|---|---|---|
https://nvd.nist.gov/vuln/detail/CVE-2024-43802 | None | None | https://github.com/vim/vim/commit/322ba9108612bead5eb |
https://ubuntu.com/security/CVE-2024-43802 | |||
https://www.opencve.io/cve/CVE-2024-43802 | None | None | https://github.com/vim/vim/commit/322ba9108612bead5eb |
https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2024-43802 | |||
https://security-tracker.debian.org/tracker/CVE-2024-43802 |
说明:补丁链接仅供初步排查参考,实际可用性请人工再次确认,补丁下载验证可使用CVE补丁工具。
若补丁不准确,烦请在此issue下评论 '/report-patch 参考网址 补丁链接1,补丁链接2' 反馈正确信息,便于我们不断优化工具,不胜感激。
如 /report-patch https://security-tracker.debian.org/tracker/CVE-2021-3997 https://github.com/systemd/systemd/commit/5b1cf7a9be37e20133c0208005274ce4a5b5c6a1
影响性分析说明:
vim组件的src/getchar.c文件中flush_buffers()函数存在缓冲区溢出漏洞,当刷新 typeahead 缓冲区时,Vim 会移动 typeahead 缓冲区中的当前位置,但不检查缓冲区中是否有足够的空间来处理下一个字符。因此,这可能会导致 typebuf 变量中的 tb_off 位置指向有效缓冲区大小之外,可能导致 ins_typebuf() 中的堆缓冲区溢出。这会导致程序异常和崩溃问题。
openEuler评分: (评分和向量)
4.5
CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:L
受影响版本排查(受影响/不受影响):
1.master(9.0.2092):受影响
2.openEuler-20.03-LTS-SP4(9.0):受影响
3.openEuler-22.03-LTS-SP1(9.0):受影响
4.openEuler-22.03-LTS-SP3(9.0):受影响
5.openEuler-22.03-LTS-SP4(9.0):受影响
6.openEuler-24.03-LTS(9.0.2092):受影响
7.openEuler-24.03-LTS-Next(9.0.2092):受影响
修复是否涉及abi变化(是/否):
1.master(9.0.2092):否
2.openEuler-20.03-LTS-SP4(9.0):否
3.openEuler-22.03-LTS-SP1(9.0):否
4.openEuler-22.03-LTS-SP3(9.0):否
5.openEuler-22.03-LTS-SP4(9.0):否
6.openEuler-24.03-LTS(9.0.2092):否
7.openEuler-24.03-LTS-Next(9.0.2092):否
@ 经过 cve-manager 解析, 已分析的内容如下表所示:
状态 | 需分析 | 内容 |
---|---|---|
已分析 | 1.影响性分析说明 | vim组件的src/getchar.c文件中flush_buffers()函数存在缓冲区溢出漏洞,当刷新 typeahead 缓冲区时,Vim 会移动 typeahead 缓冲区中的当前位置,但不检查缓冲区中是否有足够的空间来处理下一个字符。因此,这可能会导致 typebuf 变量中的 tb_off 位置指向有效缓冲区大小之外,可能导致 ins_typebuf() 中的堆缓冲区溢出。这会导致程序异常和崩溃问题。 |
已分析 | 2.openEulerScore | 4.5 |
已分析 | 3.openEulerVector | AV:L/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:L |
已分析 | 4.受影响版本排查 | master:受影响,openEuler-20.03-LTS-SP4:受影响,openEuler-22.03-LTS-SP1:受影响,openEuler-22.03-LTS-SP3:受影响,openEuler-22.03-LTS-SP4:受影响,openEuler-24.03-LTS:受影响,openEuler-24.03-LTS-Next:受影响 |
已分析 | 5.修复是否涉及abi变化 | master:否,openEuler-20.03-LTS-SP4:否,openEuler-22.03-LTS-SP1:否,openEuler-22.03-LTS-SP3:否,openEuler-22.03-LTS-SP4:否,openEuler-24.03-LTS:否,openEuler-24.03-LTS-Next:否 |
请确认分析内容的准确性, 确认无误后, 您可以进行后续步骤, 否则您可以继续分析.
登录 后才可以发表评论
FileDragTip