CVE-2020-7071 is a vulnerability in PHP's URL validation process. It allows an attacker to craft a URL containing an invalid password that will be incorrectly validated as a legitimate URL by functions like filter_var. This can lead to misinterpretation of URL components and potentially unexpected behavior in applications relying on URL validation. The vulnerability impacts PHP versions 7.3.x below 7.3.26, 7.4.x below 7.4.14, and 8.0.0, and a patch is available in PHP 8.0.1.
PHP的CVE-2020-7071漏洞影响了7.3.x版本低于7.3.26、7.4.x版本低于7.4.14和8.0.0的版本。此漏洞允许filtervar()函数使用FILTERVALIDATE_URL过滤器接受包含无效密码信息的URL,并将其视为有效的URL。这是由于URL格式验证不正确造成的。主要影响是,依赖于正确URL验证的应用程序可能会处理不正确的data,从而导致应用程序逻辑错误、意外行为或,在更严重的情况下,敏感信息泄露,如果URL用于构建命令或访问资源。为了利用此漏洞,不需要身份验证,这增加了其风险。
攻击者可以通过将包含无效密码信息的恶意URL注入到使用filtervar($url, FILTERVALIDATE_URL)进行验证的字段中来利用此漏洞。如果应用程序使用此验证的URL来构建命令或访问资源,则攻击者可以操纵应用程序的行为。例如,如果URL用于重定向函数,则攻击者可以将用户重定向到恶意网站。此漏洞的易于利用和潜在影响的广泛范围使其成为系统管理员和PHP应用程序开发者的重大问题。
漏洞利用状态
EPSS
7.00% (91% 百分位)
CVSS 向量
减轻CVE-2020-7071的解决方案是升级到已修补漏洞的PHP版本。这包括PHP 7.3.26或更高版本、PHP 7.4.14或更高版本或PHP 8.0.1或更高版本。如果无法立即升级,建议在应用程序代码中实施其他验证,以在使用URL之前验证URL的有效性。这些验证可能包括使用更严格的正则表达式或验证URL指向的资源的是否存在。在应用任何解决方案后,应进行彻底的测试,以确保漏洞已有效减轻,并且应用程序可以正常工作。
Actualice a la última versión de PHP. Específicamente, actualice a la versión 7.3.26 o superior, 7.4.14 o superior, o 8.0.1 o superior. Esto corregirá la vulnerabilidad en la función de validación de URL.
漏洞分析和关键警报直接发送到您的邮箱。
7.3.x版本低于7.3.26、7.4.x版本低于7.4.14和8.0.0的版本容易受到CVE-2020-7071的攻击。
检查您服务器上安装的PHP版本。如果它是上述版本之一,则很可能容易受到攻击。
在使用URL之前,在您的代码中实施其他验证,以验证URL的有效性。例如,使用更严格的正则表达式。
在URL验证上下文中被解释为无效密码的任何字符串。
您可以在PHP安全公告和CVE等漏洞数据库中找到更多信息。