mdvpat/CVE-2026-52832-PoC-exploit-nuclio-dashboard

GitHub: mdvpat/CVE-2026-52832-PoC-exploit-nuclio-dashboard

针对 Nuclio Dashboard ≤1.15.27 路径穿越漏洞(CVE-2026-52832)的 PoC 漏洞利用工具,演示未经身份验证的任意文件写入。

Stars: 0 | Forks: 0

# CVE-2026-52832-PoC-exploit-nuclio-dashboard Nuclio Dashboard(NOP 模式)接受未经身份验证的 POST /api/functions 请求。`spec.handler` 字段未经过路径验证,因此 `../../../../tmp/x.txt:handler` 会通过 `path.Join` 逃逸出构建临时目录,允许攻击者以 root 身份将任意内容写入任何路径。(CVE-2026-52832,≤1.15.27) # CVE-2026-52832 Nuclio Dashboard 路径穿越 → 任意文件写入 Nuclio Dashboard 中通过 `spec.handler` 的路径穿越漏洞,可实现未经身份验证的(以 root 身份)任意文件写入。 | | | |---|---| | CVE | CVE-2026-52832 | | GHSA | GHSA-wpcj-rmv4-86qg | | 受影响版本 | Nuclio ≤ 1.15.27 | | 修复版本 | 1.16.5 (PR #4143, commit `2a55d3a`) | | 分类 | CWE-22 路径穿越 → 任意文件写入 | | CVSS | 7.5 高危 (`AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N`) | ## 摘要 处于默认 `NOP` 身份验证模式的 Nuclio Dashboard 接受未经身份验证的 `POST /api/functions` 请求。`spec.handler` 字段(`module:entrypoint`)未经过路径验证,因此像 `../../../../tmp/x.txt:handler` 这样的值会通过 `path.Join(tempDir, moduleFileName)` 逃逸出构建临时目录,允许攻击者将任意的 base64 内容(`spec.build.functionSourceCode`)写入 Dashboard 容器内的任何路径。该进程以 `uid=0 (root)` 身份运行。 ## 实验环境搭建 易受攻击的目标: \`\`\` docker run -d --name nuclio-vuln -p 127.0.0.1:8070:8070 \ -v /var/run/docker.sock:/var/run/docker.sock \ quay.io/nuclio/dashboard:1.15.27-amd64 \`\`\` 已修复的对照组: \`\`\` docker run -d --name nuclio-patched -p 127.0.0.1:8071:8070 \ -v /var/run/docker.sock:/var/run/docker.sock \ quay.io/nuclio/dashboard:1.16.5-amd64 \`\`\` 等待直到 `curl http://127.0.0.1:8070/api/functions` 返回 `200 {}`。 ## 在本地目标上运行 \`\`\` ./poc/poc.sh http://127.0.0.1:8070 nuclio-vuln \`\`\` 预期结果:`[+] SUCCESS`,一个无害的标记文件被写入到构建临时目录之外,并由 root 拥有。 针对已修复的镜像,相同的请求会被拒绝并返回 `HTTP 500` 和 `Handler module name resolves outside the build directory`,且不会创建任何文件。 ## 示例:使用 Docker 在本地运行 # 1. 启动易受攻击的目标 docker run -d --name nuclio-vuln -p 127.0.0.1:8070:8070 \ -v /var/run/docker.sock:/var/run/docker.sock \ quay.io/nuclio/dashboard:1.15.27-amd64 # 2. 等待直到它响应 curl http://127.0.0.1:8070/api/functions # 预期: {} # 3. 运行 chmod +x poc.sh ./poc.sh http://127.0.0.1:8070 nuclio-vuln ## 影响 未经身份验证的网络攻击者可以 root 身份在 Dashboard 容器的文件系统中创建或覆盖包含任意内容的任何文件。 ## 修复建议 升级至 Nuclio ≥ 1.16.5,该版本在 `pkg/processor/build/builder.go` 的 `os.WriteFile` 之前增加了 `common.IsPathWithinDir` 检查。此外:启用身份验证以替代 `NOP` 模式,限制对 Dashboard 的网络访问,并在不需要时避免挂载 Docker socket。 ## 免责声明 仅供授权的安全研究和防御目的使用。包含的 PoC 仅写入一个无害的带有时间戳的标记文件。请勿在您不拥有或未获准测试的系统上运行。
标签:Cutter, DNS 反向解析, Nuclio Dashboard, PoC, Serverless 安全, 任意文件写入, 暴力破解, 网络信息收集, 请求拦截, 路径遍历