{"vuid":"VU#475445","idnumber":"475445","name":"Multiple SAML libraries may allow authentication bypass via incorrect XML canonicalization and DOM traversal","keywords":["saml","xml","authentication bypass"],"overview":"Multiple SAML libraries may incorrectly utilize the results of XML DOM traversal and canonicalization APIs in such a way that an attacker may be able to manipulate the SAML data without invalidating the cryptographic signature, allowing the attack to potentially bypass authentication to SAML service providers.","clean_desc":"CWE-287: Improper Authentication Security Assertion Markup Language (SAML) is an XML-based markup language for security assertions regarding authentication and permissions, most commonly used for single sign-on (SSO) services. Some XML DOM traversal and canonicalization APIs may be inconsistent in handling of comments within XML nodes. Incorrect use of these APIs by some SAML libraries results in incorrect parsing of the inner text of XML nodes such that any inner text after the comment is lost prior to cryptographically signing the SAML message. Text after the comment therefore has no impact on the signature on the SAML message. A remote attacker can modify SAML content for a SAML service provider without invalidating the cryptographic signature, which may allow attackers to bypass primary authentication for the affected SAML service provider The following CVEs are assigned: CVE-2017-11427 - OneLogin’s \"python-saml\"\nCVE-2017-11428 - OneLogin’s \"ruby-saml\"\nCVE-2017-11429 - Clever’s \"saml2-js\"\nCVE-2017-11430 - \"OmniAuth-SAML\"\nCVE-2018-0489 - Shibboleth openSAML C++\nCVE-2018-5387 - Wizkunde SAMLBase More information is available in the researcher's blog post.","impact":"By modifying SAML content without invalidating the cryptographic signature, a remote, unauthenticated attacker may be able to bypass primary authentication for an affected SAML service provider.","resolution":"Apply updates Affected SAML service providers should update software to utilize the latest releases of affected SAML libraries. Please see the vendor list below for more information.","workarounds":"","sysaffected":"","thanks":"Thanks to Kelby Ludwig of Duo Security for reporting this vulnerability.","author":"This document was written by Garret Wassermann.","public":["https://duo.com/blog/duo-finds-saml-vulnerabilities-affecting-multiple-implementations","https://duo.com/labs/psa/duo-psa-2017-003","https://cwe.mitre.org/data/definitions/287.html"],"cveids":["CVE-2017-11427","CVE-2017-11428","CVE-2017-11429","CVE-2017-11430","CVE-2018-0489","CVE-2018-5387"],"certadvisory":"","uscerttechnicalalert":null,"datecreated":"2017-12-19T13:13:38Z","publicdate":"2018-02-27T00:00:00Z","datefirstpublished":"2018-02-27T15:20:46Z","dateupdated":"2018-06-05T18:02:51Z","revision":121,"vrda_d1_directreport":"1","vrda_d1_population":"","vrda_d1_impact":"","cam_widelyknown":"0","cam_exploitation":"0","cam_internetinfrastructure":"0","cam_population":"0","cam_impact":"0","cam_easeofexploitation":"0","cam_attackeraccessrequired":"0","cam_scorecurrent":"0","cam_scorecurrentwidelyknown":"0","cam_scorecurrentwidelyknownexploited":"0","ipprotocol":"","cvss_accessvector":"N","cvss_accesscomplexity":"M","cvss_authentication":null,"cvss_confidentialityimpact":"C","cvss_integrityimpact":"N","cvss_availabilityimpact":"N","cvss_exploitablity":null,"cvss_remediationlevel":"OF","cvss_reportconfidence":"C","cvss_collateraldamagepotential":"ND","cvss_targetdistribution":"ND","cvss_securityrequirementscr":"ND","cvss_securityrequirementsir":"ND","cvss_securityrequirementsar":"ND","cvss_basescore":"6.3","cvss_basevector":"AV:N/AC:M/Au:S/C:C/I:N/A:N","cvss_temporalscore":"4.9","cvss_environmentalscore":"4.93107416928","cvss_environmentalvector":"CDP:ND/TD:ND/CR:ND/IR:ND/AR:ND","metric":0.0,"vulnote":null}