我们目前正尝试使用 Trustwave 的漏洞扫描程序来实现 PCI 合规性。
Magento 版本为 1.5.1.0,运行在 CentOS 5 上。
根据 PCI 合规报告,我们只剩下最后一个问题了。我们对此问题提出了异议,但他们拒绝了。以下是详细信息:
问题:
该主机上运行的 PHP 版本容易在 ext/sockets/sockets.c 中的 socket_connect 函数中出现基于堆栈的缓冲区溢出,这可能允许上下文相关的攻击者通过 UNIX 套接字的长路径名执行任意代码。
此漏洞已在即将发布的 PHP 版本中得到解决,但是可能存在针对此问题的反向移植修复。应联系您的供应商以确定目前是否有解决方案。
或者,从所有 PHP 应用程序中删除 socket_connect 函数的使用也可以缓解这个问题。
我的争议
(与所有其他问题一样,我提交了我们正在使用的确切版本的列表)。
阿帕奇:httpd-2.2.3-45.el5.centos.1
PHP: php-common-5.3.6-3.el5.art php-5.3.6-3.el5.art php-mbstring-5.3.6-3.el5.art php-pear-1.7.2-2.el5.art
SSL:mod_ssl-2.2.3-45.el5.centos.1
SSH:openssh-4.3p2-72.el5_6.3 openssh-服务器-4.3p2-72.el5_6.3
拒绝原因
根据提供的信息(表明 php-5.3.6-3.el5.art 正在此系统上运行),我们拒绝了此争议。
文档显示无法找到此版本解决 php-5.3.6-3.el5.art 的问题。
请重新对此漏洞提出异议,并提供更多细节或证据证明此版本已成功解决此发现(例如,提供供应商提供的链接以及表明此版本解决 CVE-2011-1938 的解释/声明)。
CVE 链接http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2011-1938
我们想知道是否有人设法通过 Magneto 1.5.1.0 和 PCI 漏洞测试程序解决此问题?
我们的服务提供商(网络托管商)好心地给了我们这样的回复:
我认为 Magento 非常广泛地使用 socket_connect。正如我在之前的邮件中所说,我认为 Red Hat 已经降低了修补此特定错误的紧迫性,并且到目前为止尚未修复它。
https://www.redhat.com/security/data/cve/CVE-2011-1938.html
“红帽安全响应小组将此问题评定为对安全的影响较低,未来的更新可能会解决此缺陷。”
Atomic Corp 版本的软件包中也没有实施此修复。我猜下一步可能是考虑从 Atomic 源软件包编译 PHP 并手动修复该错误,但如果没有来自公认安全机构的支持文档,这可能不足以让审计员满意。
我们希望有人之前遇到过这个问题并且知道解决方法。
答案1
这太糟糕了。这真的很糟糕,因为 PHP 当前的稳定版本仍然是易受攻击的版本。您可以这样做(开源万岁!):
- 抓住修复漏洞的差异。http://svn.php.net/viewvc?view=revision&revision=311369
- 应用此补丁时,使用 RPM 实用程序从源代码重建软件包。http://bradthemad.org/tech/notes/patching_rpms.php
或者,您可以使用即将发布的候选版本之一。不过,我个人更喜欢修补稳定版本。
不过,您的审计员做了正确的事。RedHat 确实也应该如此……这是一个简单的软件包修复……http://www.securityfocus.com/bid/47950/exploit
答案2
答案3
还可以考虑关闭expose_php,这是一个最佳做法。
我发现关闭此功能不会为类似的扫描仪提供确定您是否存在漏洞所需的信息。此外,它也不会为攻击者提供相同的信息。