2026 Joomla SP Page Builder 漏洞, 允许未授权用户上传恶意 PHP 代码

文章目录

    又中招了,GTranslate 服务说网站请求量过大,停止了服务。查看首页,发现一个首页,加载了 1000 多个 css 文件。

    发现是 Joomla SP Page Builder 的漏洞,会通过 POST 上传一堆文件。

    SP Page Builder在2026年被曝出多个严重安全漏洞(如CVE-2026-48908、CVE-2026-66494等),允许未授权用户上传恶意文件甚至执行代码

    然后影响首页加载很多 css 文件。好在,之前添加了 nginx 规则,会阻止 media 路径下的所有代码执行。所以,只会看到加载了一千多个 css 文件,但是没有其他影响。

    晚上,清理了这些配置,并且增加了 cloudflare 规则,阻止了 SP Page Builder 相关的 post 请求。

    Nginx 日志

    POST /index.php?option=com_sppagebuilder&task=asset.uploadCustomIcon 200
    
    GET /media/com_sppagebuilder/assets/iconfont/icorlycgq/fonts/fawvfmj.PHP?t=ixbszjbawvencrtq&c=echo+SPPB-RCE-%24%28%287%2A6%29%29 HTTP/1.1 403 
    

    攻击 IP 来自新加坡的 194.233.86.244。上传完成后,就开始尝试执行恶意 PHP 代码,好在我阻止了 media 下的 PHP 代码执行。

    cloudflare 拦截规则

    当请求是 POST 时,并且

    http.request.uri.query contains "option=com_sppagebuilder"
    

    就直接拦截。不用 Nginx 拦截的原因是,我不知道怎么设置 nginx 判断这种多条件的情况。而且用 cloudflare 也更节省服务器资源。

    测试

    确认是否禁止了 com_sppagebuilder 相关的 POST 请求。

    curl -X POST "http://your-domain.com/index.php?option=com_sppagebuilder&task=asset.uploadCustomIcon" -I
    

    如果返回 HTTP/2 403,说明拦截成功了。

    清理首页加载项

    即便清空了服务器 /media/com_sppagebuilder/assets/iconfont/ 下的恶意文件目录。首页依然会加载一堆 css,虽然报 404 也非常讨厌。

    需要到数据库的 xxx_sppagebuilder_assets 数据表,清理掉里面的恶意文件配置。

    关于作者 🌱

    我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式