CVE-2024-47823|Laravel Livewire文件上传导致远程代码执行漏洞

admin 2024年10月21日19:07:41评论156 views字数 799阅读2分39秒阅读模式

0x00 前言

Laravel 是一个后端框架,提供了构建现代 Web 应用所需的所有功能,例如路由、验证、缓存、队列、文件存储等等。

Livewire 是一个全栈框架,专为 Laravel 开发,它允许开发者使用 PHP 而不是 JavaScript 来构建实时的用户界面。

0x01 漏洞描述

由于Laravel Livewire上传文件时根据MIME类型猜测文件扩展名,而不验证文件名中实际的文件扩展名,攻击者可以上传具有MIME类型(如:image/png)和 “.php”文件扩展名的文件来绕过验证,满足一定条件可以进行远程代码执行。

0x02 CVE编号

CVE-2024-47823

0x03 影响版本

Livewire>=2.12.7

Livewire>=3.5.2

0x04 漏洞详情

https://github.com/livewire/livewire/security/advisories/GHSA-f3cx-396f-7jqp

问题代码:

class SomeComponent extends Component{    use WithFileUploads;    #[Validate('image|extensions:png')]    public $file;    public function save(){        $this->validate();        $this->file->storeAs(            path: 'images',            name: $this->file->getClientOriginalName(),            options: ['disk' => 'public'],        );    }}

0x05 参考链接

https://github.com/livewire/livewire/security/advisories/GHSA-f3cx-396f-7jqp

原文始发于微信公众号(信安百科):CVE-2024-47823|Laravel Livewire文件上传导致远程代码执行漏洞

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月21日19:07:41
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   CVE-2024-47823|Laravel Livewire文件上传导致远程代码执行漏洞https://cn-sec.com/archives/3292021.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息