Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-27626-PoC — OliveTin 是一个自托管的 Web UI,用于向最终用户公开预定义的 shell 命令。此存储库包含一个概念验证,演示 OliveTin Shell 模式执行路径中的两个独立的 OS 命令注入向量,两者都绕过了应用程序预期的 shell 参数安全检查。 | Kitploit
工具/GitHubGitHub/0xh7ml/cve-2026-27626-poc
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试命令与控制红队Payload 开发
GitHub0xh7ml/cve-2026-27626-poc

CVE-2026-27626-PoC

OliveTin 是一个自托管的 Web UI,用于向最终用户公开预定义的 shell 命令。此存储库包含一个概念验证,演示 OliveTin Shell 模式执行路径中的两个独立的 OS 命令注入向量,两者都绕过了应用程序预期的 shell 参数安全检查。

查看仓库
1222个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-27626 — OliveTin OS命令注入(PoC)

摘要

CVE IDCVE-2026-27626
组件OliveTin
漏洞类别CWE-78:OS命令中特殊元素的不当中和
CVSS 3.19.9–10.0(严重)— AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
受影响版本所有版本 ≤ 3000.10.0(0.0.0-20260222101908-4bbd2eab1532 之前的提交)
修复版本0.0.0-20260222101908-4bbd2eab1532 或更高版本
安全公告GHSA-49gm-hh7w-wfvf
披露日期2026-02-22(公告),2026-02-25(NVD)

OliveTin 是一个自托管的 Web UI,用于向最终用户暴露预定义的 shell 命令。该仓库提供了一个概念验证,演示了 OliveTin 的 Shell 模式执行路径中存在两个独立的 OS 命令注入向量,这两个向量均绕过了应用程序预期的 shell 参数安全检查。

背景

OliveTin 允许管理员定义 Actions —— 带有参数化参数的 shell 命令 —— 经身份验证(或根据配置,匿名)的用户可以通过 Web UI 或 Webhook 触发这些命令。为防止用户通过参数值突破预期命令,OliveTin 在将用户提供的每个参数模板化到命令字符串并传递给 sh -c 之前,会通过 checkShellArgumentSafety() 对其进行处理。

这正是漏洞突破的安全边界。OliveTin 明确区分了“管理员定义命令”和“用户提供值”——安全检查存在的目的就是防止用户将参数值转变为执行任意命令的方式。

根本原因

向量 1 — password 参数类型未经检查

checkShellArgumentSafety() 仅对固定的允许参数类型列表进行清理:

root@kitploit:~
func checkShellArgumentSafety(argType string, value string) bool {
    dangerousTypes := []string{"string", "int", "bool", "choice"}
    for _, dt := range dangerousTypes {
        if argType == dt {
            return sanitizeInput(value)
        }
    }
    // BUG: "password" 类型未检查
    return true // 假定安全
}

password 是一种已记录的、用于接收敏感用户输入的预期参数类型——但它不在 dangerousTypes 中,因此会直接落到 return true 而未被清理。任何能够填充 Shell 模式 Action 的 password 类型参数的用户,都可以注入 shell 元字符(;、|、`、$() 等),从而以 OliveTin 进程用户的身份执行任意命令。

此处的可利用性因 OliveTin 的默认设置而放大:自注册功能默认开启,且默认情况下 authType: none。因此,在许多实际部署中,“经过身份验证的用户”几乎不需要任何实际障碍。

向量 2 — Webhook JSON 提取完全跳过类型检查

独立于向量 1,OliveTin 的 webhook 处理程序从入站 webhook 的 JSON 体中提取任意键值对,并将其直接注入到 ExecutionRequest.Arguments 中(service/internal/executor/handler.go:153-157)。

由于这些 webhook 派生的键在操作的配置中没有对应的 ActionArgument,parseActionArguments()(arguments.go)找不到要检查的参数类型,因此完全跳过 checkShellArgumentSafety()——不仅针对 password,而是针对所有类型。原始值被模板化到 shell 命令中,并在零验证的情况下传递给 sh -c。

由于接收来自外部/不受信任来源的入站 webhook 是 OliveTin 的主要支持用例之一,因此此向量根本不需要任何身份验证。

综合影响

以 Shell 模式运行的 OliveTin 实例,如果包含任何可通过 webhook 触发的 Action,则容易受到未经身份验证的远程代码执行的攻击,其权限为 OliveTin 进程的权限——根据 OliveTin 的部署方式(裸机 vs. 容器、授予的能力等),可能导致主机完全沦陷。

受影响的配置

如果您的 OliveTin 实例满足以下条件,则很可能存在漏洞:

  • 以 Shell 模式运行 Actions,并且
  • 至少有一个包含 password 类型参数的 Action 暴露给不受信任/低权限用户(向量 1),或
  • 有任何可通过 webhook 触发的 Action,特别是那些可从信任边界外部访问的 Action(向量 2)

用法

root@kitploit:~
python3 CVE-2026-27626.py -u <TARGET> [OPTIONS]

参数

选项描述默认值
-u, --url目标主机/IP必需
-p, --portOliveTin 端口1337
-x, --cmd要执行的命令id

影响

  • 以 OliveTin 服务账户身份执行任意 OS 命令
  • 完全攻陷运行 OliveTin 的主机或容器
  • 横向移动到 OliveTin 可访问的任何环境(通常以提升的权限运行以管理其他服务)
  • 向量 2 在零凭据的情况下即可实现,针对任何接受 webhook 的互联网暴露实例

修复措施

  1. 升级 OliveTin 至 0.0.0-20260222101908-4bbd2eab1532 或更高版本,一旦您的更新渠道可用,请尽快操作。
  2. 在补丁可用之前:
    • 如果不需要 Shell 模式,请禁用它。
    • 避免在 Shell 模式下使用 webhook 触发的 Action。
    • 在不受信任用户可访问的任何 Action 上,移除或避免使用 password 类型参数。
    • 禁用自注册功能,并强制实施真正的身份验证(authType 非 none)。
    • 仅允许受信任来源(通过防火墙/反向代理白名单)访问 OliveTin 的 webhook 端点。
    • 在具有最小能力集和严格的 seccomp 配置文件的容器中运行 OliveTin,以限制即使被利用后的爆炸半径。
    • 监控 OliveTin 进程日志/主机审计日志,查找 OliveTin 服务产生的意外子进程。

时间线

日期事件
2026-02-20CVE 保留
2026-02-22GitHub 安全公告发布
2026-02-25NVD 发布
2026-02-27公告更新

参考资料

  • GitHub 安全公告:GHSA-49gm-hh7w-wfvf
  • NVD:CVE-2026-27626
  • OliveTin 项目:github.com/OliveTin/OliveTin

负责任使用

此 PoC 仅用于防御性研究、检测工程和授权的渗透测试目的。请勿对您不拥有或未获得明确书面授权测试的系统运行。滥用此代码针对第三方系统可能违反计算机犯罪法律(例如美国的 CFAA、英国的《计算机滥用法》及他国的等效法规),并且完全由执行者承担全部责任。

作者

Md Saikat (0xh7ml)

下载工具