{"vuid":"VU#466161","idnumber":"466161","name":"XML signature HMAC truncation authentication bypass","keywords":["XML signature","XMLDsig","XML-DSig","XML-Sig","HMAC truncation","authentication","truncate","HMACOutputLength"],"overview":"The XML Signature specification allows for HMAC truncation, which may allow a remote attacker to bypass authentication.","clean_desc":"XML Signature Syntax and Processing (XMLDsig) is a W3C recommendation for providing integrity, message authentication, and/or signer authentication services for data. XMLDsig is commonly used by web services such as SOAP. The XMLDsig recommendation includes support for HMAC truncation, as specified in RFC2104. However, the XMLDsig specification does not follow the RFC2104 recommendation to not allow truncation to less than half of the length of the hash output or less than 80 bits. When HMAC truncation is under the control of an attacker this can result in an effective authentication bypass. For example, by specifying an HMACOutputLength of 1, only one bit of the signature is verified. This can allow an attacker to forge an XML signature that will be accepted as valid.","impact":"This vulnerability can allow an attacker to bypass the authentication mechanism provided by the XML Signature specification.","resolution":"Apply an update Please check with your vendor for available updates. Erratum E03 for the XMLDsig recommendation has been added, which specifies minimum values for HMAC truncation.","workarounds":"","sysaffected":"","thanks":"Thanks to Thomas Roessler of the \nW3C\n for reporting this vulnerability.","author":"This document was written by Will Dormann.","public":["http://www.w3.org/2008/06/xmldsigcore-errata.html#e03","http://www.w3.org/QA/2009/07/hmac_truncation_in_xml_signatu.html","http://www.rsa.com/blog/blog_entry.aspx?id=1492","http://www.w3.org/TR/xmldsig-core/","http://www.w3.org/TR/xmldsig-core/#sec-HMAC","http://tools.ietf.org/html/rfc2104#section-5","http://www.oasis-open.org/specs/index.php#wss","http://www.w3.org/2000/xp/Group/","http://msdn.microsoft.com/en-us/library/ms996502.aspx","http://www.ibm.com/support/docview.wss?rs=180&uid=swg21384925","http://santuario.apache.org/download.html","http://www.mono-project.com/Vulnerabilities","http://www.oracle.com/technology/deploy/security/critical-patch-updates/cpujul2009.html","http://www.aleksey.com/xmlsec/downloads.html","http://blogs.sun.com/security/entry/cert_vulnerability_note_vu_466161","http://rdist.root.org/2009/07/19/xmldsig-welcomes-all-signatures/"],"cveids":["CVE-2009-0217"],"certadvisory":"","uscerttechnicalalert":null,"datecreated":"2009-01-29T19:23:49Z","publicdate":"2009-07-14T00:00:00Z","datefirstpublished":"2009-07-14T18:39:47Z","dateupdated":"2009-08-05T19:01:31Z","revision":29,"vrda_d1_directreport":"1","vrda_d1_population":"4","vrda_d1_impact":"2","cam_widelyknown":"17","cam_exploitation":"0","cam_internetinfrastructure":"15","cam_population":"5","cam_impact":"8","cam_easeofexploitation":"17","cam_attackeraccessrequired":"20","cam_scorecurrent":"8.16","cam_scorecurrentwidelyknown":"8.925","cam_scorecurrentwidelyknownexploited":"14.025","ipprotocol":"","cvss_accessvector":"","cvss_accesscomplexity":"","cvss_authentication":null,"cvss_confidentialityimpact":"","cvss_integrityimpact":"","cvss_availabilityimpact":"","cvss_exploitablity":null,"cvss_remediationlevel":"","cvss_reportconfidence":"","cvss_collateraldamagepotential":"","cvss_targetdistribution":"","cvss_securityrequirementscr":"","cvss_securityrequirementsir":"","cvss_securityrequirementsar":"","cvss_basescore":"","cvss_basevector":"","cvss_temporalscore":"","cvss_environmentalscore":"","cvss_environmentalvector":"","metric":8.16,"vulnote":null}