Laravel 框架环境变量注入漏洞CVE-2024-52301
Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework),提供一系列工具和特性,旨在简化Web应用程序的开发过程。
一、基本情况
Laravel作为一个基于PHP的开源Web应用框架,为创建应用提供了一个结构和起点,并致力于提供出色开发体验,同时提供强大的特性。
由于PHP灵活性及Laravel对Redis等快速分布式缓存系统内置支持,使用Laravel进行扩展可谓轻而易举,轻松扩展到每月处理数亿请求。
栋科技漏洞库关注到 Laravel 近期修复一个环境变量注入漏洞,该漏洞被追踪为CVE-2024-52301,漏洞CVSS评分为8.7,影响范围较广。
二、漏洞分析
CVE-2024-52301漏洞源于Laravel框架在非CLI模式下处理请求时未正确隔离PHP的argv参数,当register_argc_argv PHP指令设置为on时,
攻击者可以通过调用带有特殊构造查询字符串的任意URL,来更改框架在请求处理时使用的环境配置,成功利用该漏洞可能导致严重后果。
该漏洞可能导致敏感信息泄露、权限提升、应用崩溃或配置被篡改等,新版更新通过在非CLI SAPI上进行环境检测时忽略argv值修复漏洞。
三、影响范围
Laravel < 6.20.45
7.0.0 <= Laravel < 7.30.7
8.0.0 <= Laravel < 8.83.28
9.0.0 <= Laravel < 9.52.17
10.0.0 <= Laravel < 10.48.23
11.0.0 <= Laravel < 11.31.0
四、修复建议
目前该漏洞已经修复,受影响用户可升级到Laravel 6.20.45、7.30.7、8.83.28、9.52.17、10.48.23、11.31.0或更高版本。
五、参考链接
https://github.com/laravel/framework/security/advisories/GHSA-gv7v-rgg6-548h