1Panel icon indicating copy to clipboard operation
1Panel copied to clipboard

[FEATURE] 将所有 cmd.Execf 替换为 exec.Command 来规避潜在的 shell 注入漏洞

Open cha0sCat opened this issue 7 months ago • 7 comments

1Panel 版本

v1.10.11

请描述您的需求或者改进建议

代码中多处使用 cmd.Execf 进行命令拼接执行,若直接拼接用户输入,则有可能引发 shell 注入漏洞

而若每次都手动对用户输入进行消毒,不仅增加心智负担,且有遗漏风险

参考 https://github.com/1Panel-dev/1Panel/security/advisories/GHSA-p9xf-74xh-mhw5 漏洞就是由此引起

通过将所有 cmd.Execf 替换为 exec.Command,由系统对输入进行消毒,可增加安全性,且能防止变量中存在特殊符号而引起的异常

请描述你建议的实现方案

将所有 cmd.Execf 替换为 exec.Command;

引入 Linter,彻底禁用 cmd.Execf 等危险方法,防止其他开发者误调用

附加信息

No response

cha0sCat avatar Jul 04 '24 12:07 cha0sCat