CVE-2020-7065是一个存在于PHP中的栈溢出漏洞,当使用mb_strtolower()函数处理UTF-32LE编码的特定无效字符串时,可能导致PHP覆盖栈分配的缓冲区。这可能导致内存损坏、崩溃,甚至潜在的代码执行。该漏洞影响PHP 7.3.0到7.3.16以及7.4.0到7.4.4版本。此问题已在PHP 7.4.4版本中得到修复。
CVE-2020-7065 影响 PHP 在处理 UTF-32LE 编码的字符串时,mbstrtolower() 函数的安全性。攻击者可以通过精心构造的无效 UTF-32LE 字符串,触发 PHP 在栈上分配的缓冲区溢出。具体来说,如果 PHP 版本低于 7.3.16 或 7.4.4,并且应用程序使用了 mbstrtolower() 函数处理 UTF-32LE 编码的字符串,那么攻击者可以通过发送特定的输入来覆盖栈上的数据。这种覆盖可能导致程序崩溃,更严重的情况下,可能允许攻击者执行任意代码。受影响的应用可能包括依赖于 mb_strtolower() 函数进行字符串转换的 Web 应用程序、脚本和命令行工具。如果攻击者能够控制输入数据,例如通过 Web 表单或 API 请求,他们就有可能利用此漏洞。数据泄露、服务中断以及远程代码执行都是潜在的风险。攻击的范围取决于应用程序的权限和配置,可能影响单个用户,也可能影响整个系统。
目前,CVE-2020-7065 尚未公开有利用报告 (KEV)。这意味着尚未发现公开的利用代码或攻击脚本。然而,由于该漏洞可能导致代码执行,因此仍然需要高度关注。虽然没有公开的 POC,但漏洞的本质是缓冲区溢出,这使得安全研究人员有可能开发利用程序。建议尽快升级 PHP 版本,以降低潜在风险。即使目前没有公开的利用,也不能保证未来不会出现,因此及时修补漏洞是最佳实践。持续监控安全公告和漏洞数据库,以便及时了解最新的安全信息。
漏洞利用状态
EPSS
5.02% (90% 百分位)
CVSS 向量
解决 CVE-2020-7065 的最佳方法是升级 PHP 版本至 7.3.16 或更高版本,或 7.4.4 或更高版本。这些版本包含了修复此漏洞的补丁。如果无法立即升级,可以考虑以下临时缓解措施:避免在 mb_strtolower() 函数中使用 UTF-32LE 编码。如果必须使用,请确保输入数据经过严格的验证和清理,以防止恶意字符串的注入。此外,可以考虑使用其他字符串转换函数,例如 strtolower(),但请注意,strtolower() 函数默认使用单字节编码,可能不适用于所有字符集。升级时,建议先在测试环境中进行验证,确保升级不会对现有应用程序的功能产生负面影响。升级完成后,应进行安全测试,以确认漏洞已成功修复。建议按照官方的升级步骤进行操作,并仔细阅读相关的发布说明。
Actualice a PHP versión 7.3.16 o superior, o a la versión 7.4.4 o superior. Esto corregirá la vulnerabilidad de desbordamiento de búfer en la función mb_strtolower con codificación UTF-32LE.
漏洞分析和关键警报直接发送到您的邮箱。
CVE-2020-7065 是一个影响 PHP 的安全漏洞,该漏洞可能导致缓冲区溢出,从而可能导致代码执行。
如果您的 PHP 版本低于 7.3.16 或 7.4.4,并且在使用 mb_strtolower() 函数处理 UTF-32LE 编码的字符串,则您可能受到影响。
升级您的 PHP 版本至 7.3.16 或更高版本,或 7.4.4 或更高版本,以修复此漏洞。
目前没有公开的利用报告,但由于漏洞的性质,建议尽快进行修复。
请访问国家漏洞数据库 (NVD) 或 PHP 官方安全公告以获取更多信息:https://nvd.nist.gov/vuln/detail/CVE-2020-7065