Vulnerability Note VU#475445
Multiple SAML libraries may allow authentication bypass via incorrect XML canonicalization and DOM traversal
Original Release date: 27 Feb 2018 | Last revised: 05 Apr 2018

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.

Description
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-samlquot;
CVE-2017-11428 – OneLogin’s "ruby-samlquot;
CVE-2017-11429 – Clever’s "saml2-jsquot;
CVE-2017-11430 – "OmniAuth-SAMLquot;
CVE-2018-0489 – Shibboleth openSAML C++
CVE-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.

Solution
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.

Vendor Information (Learn More)

VendorStatusDate NotifiedDate UpdatedClever, Inc.Affected24 Jan 201826 Feb 2018
Duo SecurityAffected-28 Feb 2018
OmniAuthAffected24 Jan 201806 Feb 2018
OneLogin IncAffected24 Jan 201827 Feb 2018
Pulse SecureAffected-28 Mar 2018
Shibboleth ConsortiumAffected24 Jan 201814 Mar 2018
Wizkunde B.V.Affected-05 Apr 2018
AssureBridgeNot Affected-27 Feb 2018
BoxNot Affected23 Feb 201828 Feb 2018
CA TechnologiesNot Affected-07 Mar 2018
CiscoNot Affected23 Feb 201801 Mar 2018
ComponentSpace Pty LtdNot Affected-28 Feb 2018
Entr’ouvertNot Affected24 Jan 201828 Feb 2018
ForgeRockNot Affected-07 Mar 2018
GitHubNot Affected24 Jan 201801 Mar 2018If you are a vendor and your product is affected, let
us know.View More &raquo

CVSS Metrics (Learn More)

Group
Score
Vector

Base
6.3
AV:N/AC:M/Au:S/C:C/I:N/A:N

Temporal
4.9
E:POC/RL:OF/RC:C

Environmental
4.9
CDP:ND/TD:ND/CR:ND/IR:ND/AR:ND

References

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

Credit

Thanks to Kelby Ludwig of Duo Security for reporting this vulnerability.
This document was written by Garret Wassermann.

Other Information

CVE IDs:
CVE-2017-11427
CVE-2017-11428
CVE-2017-11429
CVE-2017-11430
CVE-2018-0489
CVE-2018-5387

Date Public:
27 Feb 2018

Date First Published:
27 Feb 2018

Date Last Updated:
05 Apr 2018

Document Revision:
114

FeedbackIf you have feedback, comments, or additional information about this vulnerability, please send us email.

Leave a Reply