PHP多个远程代码执行漏洞安全风险通告
PHP多个远程代码执行漏洞安全风险通告
原创 QAX CERT 奇安信 CERT 2022-06-10 18:01
奇安信CERT
致力于
第一时间
为企业级用户提供安全风险
通告
和
有效
解决方案。
安全通告
近日,奇安信CERT监测到 PHP 官方发布了多个远程代码执行漏洞,包含CVE-2022-31626、CVE-2022-31625。PHP 远程代码执行漏洞(CVE-2022-31626)
,由于PHP未检查复制的数据长度和缓冲区长度,导致堆溢出,可能导致远程代码执行,基于php的数据库管理软件可能受此漏洞影响,如Adminer、PHPmyAdmin 等工具。PHP 远程代码执行漏洞(CVE-2022-31625)
,由于PHP存在未初始化数组,释放该数组时可能导致远程代码执行。
目前上述两个漏洞细节及PoC已在互联网公开。
鉴于这些漏洞影响范围较大,建议客户尽快做好自查及防护。
1. CVE-2022-31626 PHP远程代码执行漏洞
|
PHP 远程代码执行漏洞(CVE-2022-31626) |
||
公开时间 |
2022-06-09 |
更新时间 |
2022-06-10 |
CVE编号 |
CVE-2022-31626 |
其他编号 |
QVD-2022-8876 |
威胁类型 |
代码执行 |
技术类型 |
基于堆的缓冲区溢出 |
厂商 |
PHP |
产品 |
PHP |
风险等级 |
|||
奇安信CERT风险评级 |
风险等级 |
||
高危 |
蓝色(一般事件) |
||
|
|||
|
|
|
|
|
|
|
|
漏洞描述 |
PHP的mysqlnd拓展中存在堆缓冲区溢出漏洞,利用该漏洞需要攻击者有连接php连接数据库的权限,通过建立恶意MySQL服务器,使受害主机通过mysqlnd主动连接该服务器,触发缓冲区溢出,从而在受害主机上导致拒绝服务或远程执行代码。基于php的数据库管理软件可能受该漏洞影响,如Adminer、 PHPmyAdmin 等工具。 |
||
影响版本 |
PHP 8.1.x < 8.1.7 PHP 8.0.x < 8.0.20 PHP 7.x < 7.4.30 |
||
不受影响版本 |
PHP 8.1.x >= 8.1.7 PHP 8.0.x >= 8.0.20 PHP 7.x >= 7.4.30 |
||
其他受影响组件 |
无 |
2. CVE-2022-31625PHP远程代码执行漏洞
|
PHP 远程代码执行漏洞(CVE-2022-31625) |
||
公开时间 |
2022-06-06 |
更新时间 |
2022-06-10 |
CVE编号 |
CVE-2022-31625 |
其他编号 |
QVD-2022-8877 |
威胁类型 |
代码执行 |
技术类型 |
未初始化数组 |
厂商 |
PHP |
产品 |
PHP |
风险等级 |
|||
奇安信CERT风险评级 |
风险等级 |
||
高危 |
蓝色(一般事件) |
||
|
|||
|
|
|
|
|
|
|
|
漏洞描述 |
PHP_FUNCTION中分配在堆上的的char* 数组没有被清除,如果发生转换错误,将会调用_php_pgsql_free_params()函数,由于数组没有初始化,导致可以释放之前请求的值,导致远程代码执行。 |
||
影响版本 |
5.3.0 <= PHP 5.x <= 5.6.40 7.0.1 <= PHP 7.x < 7.4.30 8.0.0 <= PHP 8.0.x < 8.0.20 8.1.0 <= PHP 8.1.x < 8.1.7 |
||
不受影响版本 |
PHP 7.4.x >= 7.4.30 PHP 8.0.x >= 8.0.20 PHP 8.1.x >= 8.1.7 |
||
其他受影响组件 |
无 |
威胁评估
1. CVE-2022-31626 PHP远程代码执行漏洞
|
PHP 远程代码执行漏洞(CVE-2022-31626) |
|||
CVE编号 |
CVE-2022-31626 |
其他编号 |
QVD-2022-8876 |
|
CVSS 3.1评级 |
高危 |
CVSS 3.1分数 |
7.5 |
|
CVSS向量 |
访问途径(AV) |
攻击复杂度(AC) |
||
网络 |
高 |
|||
所需权限(PR) |
用户交互(UI) |
|||
低权限 |
不需要 |
|||
影响范围(S) |
机密性影响(C) |
|||
不改变 |
高 |
|||
完整性影响(I) |
可用性影响(A) |
|||
高 |
高 |
|||
危害描述 |
php存在远程代码执行漏洞,攻击者在获取了连接数据库权限后,如Adminer、PHPmyAdmin 等工具的权限,通过建立恶意数据库服务器,主动连接至该数据库服务器,造成堆缓冲区溢出,从而导致远程代码执行。 |
2. CVE-2022-31625 PHP 远程代码执行漏洞
***
|
PHP 远程代码执行漏洞(CVE-2022-31625) |
|||
CVE编号 |
CVE-2022-31625 |
其他编号 |
QVD-2022-8877 |
|
CVSS 3.1评级 |
高危 |
CVSS 3.1分数 |
7.5 |
|
CVSS向量 |
访问途径(AV) |
攻击复杂度(AC) |
||
网络 |
高 |
|||
所需权限(PR) |
用户交互(UI) |
|||
低权限 |
不需要 |
|||
影响范围(S) |
机密性影响(C) |
|||
不改变 |
高 |
|||
完整性影响(I) |
可用性影响(A) |
|||
高 |
高 |
|||
危害描述 |
在PHP_FUNCTION中分配在堆上的的char 数组没有被清除,如果发生转换错误,将会调用_php_pgsql_free_params()函数,由于数组没有初始化,导致可以释放之前请求的值,导致远程代码执行。 |
处置建议
目前官方已发布修复版本,用户可升级至以下安全版本:
PHP 8.1.7
PHP 8.0.20
PHP 7.4.30
注:CVE-2022-31625影响的PHP 5.x官方已结束维护,请用户升级到上述安全版本。
参考资料
[1]https://bugs.php.net/bug.php?id=81719
[2]https://bugs.php.net/bug.php?id=81720
时间线
2022年6月10日,奇安信 CERT发布安全风险通告
点击阅读原文
到奇安信NOX-安全监测平台查询更多漏洞详情