OneDev 是开源的一体化轻量DevOps平台,在OneDev 7.4.14及以前版本中存在路径遍历漏洞,具有项目管理权限的攻击者可以将恶意 jar 文件上传到 lib 目录,覆盖原有jar包,攻击者可利用此漏洞在服务器中写入任意文件或远程执行恶意代码。
项目管理员可以在 OneDev 的build
模块对自己的一个项目进行构建,同时在build
模块中提供了手动上传Artifacts
功能。
以v7.4.14为例,当用户点击上传后会调用ArtifactUploadPanel.java
中的onSubmit
函数将该用户选择的自定义文件上传到服务器,其中如果用户自定义了Directory
, filePath
将会采用字符串拼接的方式将用户自定义的目录名和文件名进行组合,导致攻击者可以上传文件至任意路径。
Artifacts
时任意选择一张图片进行上传,Directory
可以自定义&