httpoxy 漏洞在 PHP 环境的说明

这两天一直有小伙伴询问这个漏洞的问题,在这里用团队博客解释一下。这个漏洞对中国大陆的 PHP 用户几乎不存在影响。

在 PHP 环境,HTTP 请求的 Header 会加上 HTTP_ 前缀并放到环境变量和 $_SERVER、$_ENV 中。因此如果发出 Porxy 头部,就会变成 HTTP_PROXY 增加到 PHP 的环境变量中。

极个别的 HTTP 客户端实现有可能会直接读取环境变量的 HTTP_PROXY 头部作为代理,从而导致 PHP 在访问外部 HTTP 的时候数据被绕到这个指定的代理上。目前已知的受影响的库有 Guzzle (已在 4 天前修复)、Artax(本文发布的 13 小时前修复),直接在 PHP 中使用 curl、file_get_contents 并没有任何影响。

以上,就是这个漏洞对 PHP 造成的问题。可以说在中国大陆除了 Composer 依赖(Laravel 等)之外应该没什么人使用那两个库,即使有问题及时升级也可以解决,因此对主流开源程序影响几乎为0。

※ 关于 Python、Golang,内置的 HTTP Client 就有影响,具体参考漏洞官方说明

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.