首页
社区
课程
招聘
[分享]Rust一个满分漏洞可能允许Windows命令注入攻击
2024-4-10 18:37 2008

[分享]Rust一个满分漏洞可能允许Windows命令注入攻击

2024-4-10 18:37
2008

4月9日,Rust安全响应工作组收到通知,Rust标准库在使用Command API在Windows上调用批处理文件(bat和cmd扩展名)时,未能正确转义参数。攻击者能够控制传递给生成进程的参数,通过绕过转义来执行任意shell命令。



该漏洞(CVE-2024-24576,CVSS评分为最高的10分)由安全研究员RyotaK发现并报告,可被未经身份验证的攻击者在远程、低复杂度攻击和无用户交互的情况下利用。


据公告https://blog.rust-lang.org/2024/04/09/cve-2024-24576.html,在Windows上,如果程序代码或其依赖项调用执行带有不受信任参数的批处理文件,则1.77.2之前的所有Rust版本都会受到影响。其他平台或Windows上的其他用途不受影响。



由于cmd.exe的复杂性,Rust安全团队无法找到一个能在所有情况下正确转义参数的解决方案。因此,他们不得不改进转义代码的健壮性并修改Command API——如果Command API在生成进程时无法安全转义参数,则会返回InvalidInput错误。


Rust安全响应工作组表示会在最新发布的Rust 1.77.2中修复漏洞。另外,“如果您自己实现转义或仅处理受信任的输入,在Windows上您还可以使用CommandExt::raw_arg方法来绕过标准库的转义逻辑。” 工作组补充道。


RyotaK在给用户的建议中说,为了防止批处理文件的意外执行,用户应考虑将批处理文件移动到未包含在PATH环境变量中的目录。——在这种情况下,除非指定完整路径,否则批处理文件将不会被执行。



编辑:左右里

资讯来源:rust官网、securityonline

转载请注明出处和本文链接


[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
点赞2
打赏
分享
最新回复 (3)
雪    币: 12075
活跃值: (15444)
能力值: ( LV12,RANK:240 )
在线值:
发帖
回帖
粉丝
pureGavin 2 2024-4-11 00:27
2
0
我能不能理解成只要用rust版本低于1.77.2的编译器编译,就能触发此漏洞?又多了个入狱小技巧
雪    币: 5850
活跃值: (3655)
能力值: ( LV10,RANK:163 )
在线值:
发帖
回帖
粉丝
yimingqpa 1 2024-4-11 09:18
3
0
用的人越来越多,东西出的多了以后被爆出内存漏洞该怎么收场。
雪    币: 2099
活跃值: (4146)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
默NJ 2024-4-11 11:27
4
0
rust是内存安全,至于逻辑漏洞,那时防不住的
游客
登录 | 注册 方可回帖
返回