CVE-2025-59157CVE-2025-59157是Coolify项目中一个严重的安全漏洞,CVSS评分高达9.9分(严重级别)。Coolify是一款开源的自托管工具,用于管理服务器、应用程序和数据库。该漏洞存在于项目创建功能中的Git Repository字段,由于用户输入未经过充分的清理和过滤,攻击者可以在该字段中注入任意Shell命令。这些恶意命令会在部署工作流执行时被服务器系统解析和运行,导致远程代码执行。值得注意的是,该漏洞的危险性在于即使是普通成员用户也具备利用此漏洞的能力,无需管理员权限即可发起攻击。攻击者通过构造特定的Payload,利用Git Repository字段将恶意命令附加到合法的Git操作中,当Coolify执行Git clone或其他Git相关操作时,注入的命令将被系统Shell解析执行,从而完全控制目标服务器的操作系统。攻击成功后,攻击者可以读取敏感数据、安装后门、横向移动或进行其他恶意活动。该漏洞影响版本为4.0.0-beta.420.7之前的所有版本,官方已在4.0.0-beta.420.7版本中修复了此问题。
命令注入漏洞的技术原理在于应用程序将用户可控的输入传递给系统命令执行函数而未进行适当的安全验证。在Coolify的漏洞中,当用户在项目创建界面填写Git Repository URL时,程序直接将该输入拼接到Git命令中执行。假设后端代码类似执行git clone $USER_INPUT /target/path,攻击者可以在URL中通过分号、管道符或反引号等Shell特殊字符注入额外命令。例如,输入https://github.com/legitimate/repo;cat /etc/passwd将在执行git clone后继续执行读取密码文件命令。Coolify在处理Git操作时可能使用Python的subprocess模块或系统shell来执行git命令,如果未设置shell=False或未对输入进行严格的URL格式验证和命令转义,就会产生命令注入。此外,Git支持在URL中嵌入用户名密码认证信息,攻击者可能利用这一点配合命令注入实现更复杂的攻击链。漏洞利用的关键在于理解Git命令的执行上下文和Shell元字符的作用机制,成功的利用需要构造能够绕过基本过滤但仍被Shell解析的Payload。