平台
laravel
组件
laravel
修复版本
9.20.1
9.20.0
9.20.1
CVE-2026-33686 描述了 Laravel Sharp 中的一个路径遍历漏洞。该漏洞存在于 FileUtil 类中,由于应用程序未能正确清理文件扩展名,允许路径分隔符传递到存储层。攻击者可以利用此漏洞访问文件。受影响版本为 9.20.0 之前。该问题已在 9.20.0 版本中得到修复,建议用户尽快升级。
Sharp 的 CVE-2026-33686 漏洞,在 Laravel 的内容管理框架中,引入了路径遍历漏洞。这源于 FileUtil 类中文件扩展名的不充分清理。攻击者可能操纵文件扩展名以访问预期目录之外的文件,从而可能损害服务器安全。src/Utils/FileUtil.php 中的 FileUtil::explodeExtension() 函数是此问题的根源,因为它未能正确验证文件名中的路径分隔符。在用户可以上传文件的环境中,此漏洞尤其令人担忧,因为它可能允许执行恶意代码或暴露敏感信息。
攻击者可以通过发送包含带有路径分隔符的操作文件名(例如 ../../../../etc/passwd)的请求来利用此漏洞。如果应用程序未能正确清理文件扩展名,则攻击者可能能够访问服务器文件系统上的任意文件。如果应用程序允许文件上传并且缺乏适当的安全措施,则利用的可能性很高。利用的影响范围可能从暴露敏感信息到远程代码执行,具体取决于执行应用程序的用户的权限。
Applications utilizing Laravel Sharp versions prior to 9.20.0 are at risk. This includes projects that rely on Sharp for file management and content handling. Shared hosting environments using Laravel Sharp are particularly vulnerable, as they may lack the ability to easily update the framework.
• laravel / server:
find /var/www/laravel/vendor/sharp/src/Utils -name 'FileUtil.php' -print• laravel / server:
grep -r 'strrpos' /var/www/laravel/vendor/sharp/src/Utils/FileUtil.php• generic web:
curl -I 'http://your-laravel-app.com/path%2e%2e/to/sensitive/file.txt'• generic web:
wget -S 'http://your-laravel-app.com/path%2e%2e/to/sensitive/file.txt' | grep 'Server:'disclosure
漏洞利用状态
EPSS
0.07% (22% 百分位)
CISA SSVC
推荐的解决方案是升级到 Sharp 9.20.0 或更高版本。此版本包含修复程序,可正确清理文件扩展名,从而防止路径遍历。如果无法立即升级,请实施额外的安全措施,例如限制对存储目录的访问以及严格验证所有上传的文件。请审查与 Sharp 的文件系统交互的所有自定义代码,以确保它不会引入类似的漏洞。定期监控服务器日志以查找可疑活动也有助于检测和响应潜在攻击。
将 Sharp 版本更新到 9.20.0 或更高版本。 此版本通过正确清理文件扩展名来修复路径遍历漏洞。 可以通过 Composer 包管理器进行更新。
漏洞分析和关键警报直接发送到您的邮箱。
Sharp 是一个为 Laravel 应用程序简化管理界面创建的 Laravel 内容管理框架。
如果您使用的是 Sharp 9.20.0 之前的版本,则很可能受到此漏洞的影响。
实施额外的安全措施,例如限制对存储目录的访问以及严格验证上传的文件。
漏洞扫描器可以检测到您 Laravel 应用程序中的此漏洞。
您可以在 Sharp 安全建议和 CVE 等漏洞数据库中找到有关此漏洞的更多信息。
CVSS 向量
上传你的 composer.lock 文件,立即知道是否受影响。