cPanel Cronjob ln -s符号安全性问题

问题描述

我将服务器配置为cPanel,CloudLinux,LiteSpeed,CWAF,CageFS,CXS。

我所有的服务都运行顺利。

但是,我可以从一个用户创建cronjob并象征性地访问其他用户文件

例如,我可以通过将cron如下添加到user1来读取user2的public_html文件夹中的config.PHP文件

ln -s /home/user2/public_html/config.PHP config.txt

以这种方式运行cron时,user1上会出现config.txt形式的快捷方式。当我们查看此config.txt文件时,将显示user2上config.PHP文件内容

这是一个非常大的漏洞,我该如何预防?

我的英语不好。原谅我。

谢谢

解决方法

创建符号链接后,您究竟如何读取此文件?因为它不适用于我测试过的任何cPanel服务器。

另外,cronjob是作为用户执行的,所以我不确定这将如何允许升级,因为无论如何它都类似于在shell中执行。

如果您位于user1的监狱(su - user1)内,请添加cronjob,例如:

0 * * * * ln -s /home/user2/public_html/wp-config.php /home/user1/config.txt

无论何时实际创建符号链接,然后将cat /home/user1/config.txt用作user1,您最终都会得到“没有这样的文件或目录”:

cat: config.txt: No such file or directory

为什么?因为创建的符号链接指向的文件不存在(在CageFS中)。

但是,如果您绝对确定有可能(尽管无法复制它),请向CloudLinux报告,因为显然这是他们必须解决的问题。

哎呀,我很惊讶您没有与他们先创建票证,而是决定去Stackoverflow提出问题。