登录
注册
开源
企业版
高校版
搜索
帮助中心
使用条款
关于我们
开源
企业版
高校版
私有云
模力方舟
登录
注册
9月20日,Gitee × 模力方舟来成都了!聚焦 AI 应用在开发范式、算力架构、交互设计、硬件选型等跨场景创新实践,点击立即报名~
代码拉取完成,页面将自动刷新
捐赠
捐赠前请先登录
取消
前往登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
Watch
不关注
关注所有动态
仅关注版本发行动态
关注但不提醒动态
11
Star
0
Fork
65
src-openEuler
/
vim
代码
Issues
2
Pull Requests
1
Wiki
统计
流水线
服务
JavaDoc
PHPDoc
质量分析
Jenkins for Gitee
腾讯云托管
腾讯云 Serverless
悬镜安全
阿里云 SAE
Codeblitz
SBOM
我知道了,不再自动展开
457
fix CVE-2022-4292 CVE-2022-4293
已合并
src-openEuler:master
src-openEuler:master
wjiang
创建于 2022-12-08 10:40
克隆/下载
HTTPS
SSH
复制
下载 Email Patch
下载 Diff 文件
https://gitee.com/src-openeuler/vim/issues/I64Y53?from=project-issue https://gitee.com/src-openeuler/vim/issues/I64W83?from=project-issue fix CVE-2022-4292 CVE-2022-4293 一、修复前后poc复现情况 CVE-2022-4292: 复现参考网址:https://huntr.dev/bounties/da3d4c47-e57a-451e-993d-9df0ed31f57b 修复前可以复现:   修复后问题解决:   CVE-2022-4293: 参考复现网址:https://huntr.dev/bounties/385a835f-6e33-4d00-acce-ac99f3939143 说明:该CVE是修复vim中最小值除以-1,导致程序崩溃的问题,且因为和浮点计算有关,由于平台架构的差异,在aarch64平台无法复现该问题,只能在x86_64平台复现,具体如下 修复前: 1、在aarch64平台无法复现,vim中执行该测试,程序正常输出不会崩溃;单独打入测试用例构建,构建成功且测试用例通过    2、在x86_64平台poc可以复现,程序会崩溃。vim脚本中直接运算表达式也会崩溃。   修复后: x86_64平台成功修复问题,程序正常  二、补丁适配情况 所有补丁文件 src/version.c 文件都未修改,其它无适配。 三、排查前后置补丁情况 1、CVE-2022-4292 排查完,无前置补丁和后置补丁。 2、CVE-2022-4293 没有后置补丁,有一个前置补丁 backport-patch-9.0.0712-wrong-column-when-calling-setcursorch-with-zero-lnum.patch,是为了解决vim调用setcursorcharpos()函数光标显示不正确的问题,相关issue:https://github.com/vim/vim/issues/11329 ,相关提交:https://github.com/vim/vim/commit/79f234499b6692cc16970b7455bc9b002242632f 对该issue修复前后的验证: setcursorcharpos()函数作用是设置光标的字符位置,复现步骤: 1)键入vim,进入vim界面 2)输入3行测试文本: this is a test → λ λyyp → λ λyyp → λ λyyp → λ λyyp 3)光标分别置于第一行和第2行第一个字符处,EX模式分别键入 :call setcursorcharpos(0, 3) 查看光标偏移位置。 4)期望得到结果是无论光标置于第几行第一个字符,光标都会移动到对应行的对应偏移字符处。实际是只有第一行文本生效,其余行文本不生效。如图: 第一行光标正常偏移:   其余行光标偏移错误:  合入backport-patch-9.0.0712-wrong-column-when-calling-setcursorch-with-zero-lnum.patch补丁后正常,如图:    四、测试用例 三个补丁共引入或修改3个测试用例,分别都通过:    整体测试用例通过: 
怎样手动合并此 Pull Request
git checkout master
git pull https://gitee.com/src-openeuler/vim.git master
git push origin master
评论
19
提交
1
文件
4
检查
代码问题
0
批量操作
展开设置
折叠设置
审查
Code Owner
审查人员
zhujianwei001
zhujianwei001
hexiaowen
overweight
谢志鹏
xiezhipeng1
Monday
licihua
Lv Ying
lvying6
znzjugod
znzjugod
bingo
hubin95
gaoruoshu
gaoruoshu
陈棋德
dillon_chen
syyhao
shenyangyang01
未设置
最少人数
0
测试
zhujianwei001
zhujianwei001
hexiaowen
overweight
谢志鹏
xiezhipeng1
Monday
licihua
Lv Ying
lvying6
znzjugod
znzjugod
bingo
hubin95
gaoruoshu
gaoruoshu
陈棋德
dillon_chen
syyhao
shenyangyang01
未设置
最少人数
0
优先级
不指定
严重
主要
次要
不重要
标签
openeuler-cla/yes
lgtm
approved
ci_successful
sig/Base-service
关联 Issue
I64W83
CVE-2022-4293
I64Y53
CVE-2022-4292
Pull Request 合并后将关闭上述关联 Issue
里程碑
未关联里程碑
参与者
(5)
Cherry-pick 提交
Cherry-pick 可以将
特定提交(Commit)
从某个分支挑选并应用到另一个分支,实现快速集成特定更改,而无需合并整个分支。
请选择应用 Cherry-pick 提交 (Commit) 的目标分支
新建分支
当前账号不存在 Fork 仓库,建议 cherry-pick 到 Fork 仓库。
Fork 仓库
提交列表
Commit SHA
Commit Message
基于 Cherry-pick 后的分支发起 Pull Request
取消
Cherry-pick
1
https://gitee.com/src-openeuler/vim.git
git@gitee.com:src-openeuler/vim.git
src-openeuler
vim
vim
点此查找更多帮助
搜索帮助
Git 命令在线学习
如何在 Gitee 导入 GitHub 仓库
Git 仓库基础操作
企业版和社区版功能对比
SSH 公钥设置
如何处理代码冲突
仓库体积过大,如何减小?
如何找回被删除的仓库数据
Gitee 产品配额说明
GitHub仓库快速导入Gitee及同步更新
什么是 Release(发行版)
将 PHP 项目自动发布到 packagist.org
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册