微软官方项目OLive存在任意文件读取漏洞(暂未修复)

渗透技巧 2年前 (2022) admin
480 0 0
点击蓝字·关注我们
全文 742 字,预计阅读时间 2 分钟

前言

最近看一个关于flask的send_file()函数滥用,导致任意文件读取的漏洞点。发现有研究者在2022年3月就发现微软官方项目OLive中存在这个利用点,并向官方提交了issue和pr。


此漏洞在4月合入主线并修复。但是在查看主线的过程中,发现由于官方操作失误,导致最新的主线代码中,已修复的漏洞又重新被引入


当前已提issue,官方目前暂未修复此漏洞。


OLive

微软旗下的项目,用于加速训练模型。包括转换模块,优化模块和web控制台,本次漏洞点就在web控制台


漏洞详情

OLive的Web控制台后端使用flask开发,漏洞点在download路由处。



使用了os.path.join 函数将传入的filename拼接到项目root路径下,此函数不会过滤 ../ ,若传入的filename为

../../../../../../../etc/passwd

则join后得到的文件路径为 

/etc/passwd


直接使用 send_file函数读取上述文件并返回给前端,从而读取出了 /etc/passwd ,造成了任意文件读取漏洞。


漏洞修复

官方当时修复的方案是:使用flask自带的safe_join函数进行文件路径拼接,这个函数会过滤掉路径中的危险字符。




事件时间线

– 2022.3:安全研究者发现OLive中的任意文件读取漏洞,并提交pr

https://github.com/microsoft/OLive/pull/83/files

– 2022.4:修复代码合入主线

– 2022.5:官方维护者错误地将漏洞代码覆盖已修复的文件

https://github.com/microsoft/OLive/commit/e3bb70414e4df7ab81ed356959d438982368484e

– 2022.7:cckuailong发现问题并提交issue给官方



总结

漏洞是个比较简单的漏洞,但是整个事件挺有意思的。之前没想到微软这种巨头也会犯如此有趣的错误。不过想想,之前windows好像也有过打补丁,把之前的漏洞引入回来的先例。


参考链接

https://github.com/github/securitylab/issues/669

END
免责声明

本公众号内的文章及工具仅提供学习用途,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,本公众号及文章作者不为此承担任何责任。


好文分享收藏赞一下最美点在看哦

原文始发于微信公众号(我不是Hacker):微软官方项目OLive存在任意文件读取漏洞(暂未修复)

版权声明:admin 发表于 2022年7月18日 上午9:07。
转载请注明:微软官方项目OLive存在任意文件读取漏洞(暂未修复) | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...