CVE-2024-40075:Laravel v11.x 中发现 XXE 漏洞

admin 2024年7月31日15:25:45评论173 views字数 990阅读3分18秒阅读模式

CVE-2024-40075:Laravel v11.x 中发现 XXE 漏洞

Laravel v11.x 中发现了一个重大漏洞,该框架是一款流行的 PHP Web 框架,以构建现代、优雅的 Web 应用程序而闻名。此漏洞被指定为CVE-2024-40075,是一个 XML 外部实体 (XXE) 缺陷,可能允许攻击者执行任意命令并访问敏感数据。

安全研究员Q16G对该漏洞进行了深入分析,概述了 Laravel 代码库中的关键利用点。该漏洞可追溯到 MonologHandlerHandler 类中 __destruct 函数的处理,该类是 Laravel 日志记录机制的核心组件。以下是利用过程的详细信息:

  • 跟踪 __destruct 函数:研究人员首先发现,抽象类 MonologHandlerHandler 中的 __destruct 函数如果没有被子类覆盖,就会被调用。该函数最终会调用 close 方法。

    CVE-2024-40075:Laravel v11.x 中发现 XXE 漏洞

    MonologHandlerHandler

  • 子类分析:通过找到重写了 close 方法但没有重写 __destruct 方法的子类(例如 groupHandler),可以进一步跟踪执行流。

    CVE-2024-40075:Laravel v11.x 中发现 XXE 漏洞

    MonologHandlerGroupHandler

  • 处理程序迭代:在 groupHandler close 方法中,代码遍历处理程序并执行其 close 方法,从而发现 getStreamName 方法调用。

    CVE-2024-40075:Laravel v11.x 中发现 XXE 漏洞

    PsyReadlineHoaStream

  • 触发器识别:getStreamName 方法随后调用 md5 函数,因此需要搜索 __tostring 触发器。研究人员将实现类 PsyReadlineHoaFileRead 确定为关键组件。

    CVE-2024-40075:Laravel v11.x 中发现 XXE 漏洞

    Termwind组件元素

  • 函数执行:最后,由于 __tostring 函数调用 tostring 函数,而该函数又调用 $this->stypes->format 函数,因此可以利用该漏洞执行任意命令。

CVE-2024-40075 漏洞构成严重风险,因为它允许恶意行为者操纵 XML 输入并执行未经授权的操作,可能导致数据泄露和系统入侵。鉴于 Laravel 在 Web 开发中的广泛使用,此漏洞的影响可能非常广泛,影响全球众多 Web 应用程序。强烈建议用户更新到最新版本来保护他们的应用程序。

研究员Q16G的详细分析:

https://gitee.com/Q16G/laravel_bug/blob/master/laravelBug.md

原文始发于微信公众号(独眼情报):CVE-2024-40075:Laravel v11.x 中发现 XXE 漏洞

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

发表评论

匿名网友 填写信息