Researchers uncovered a bug that could have allowed cyber crooks to bypass the first authentication step of user accounts protected by single sign-on (SSO).
Found by security company Duo, the firm discovered the implementation flaw in a third-party library in its own authentication gateway, Duo Network Gateway (DNG), late last year. After giving vendors time to fix the bug, it disclosed the problem responsibly. It's only now that the details of how worryingly effective the bug is have gone public.
Located in the open-source library 'python-saml' (CVE-2017-11427), the firm's researchers said that under certain configurations, the flaw could have allowed an attacker with authenticated access to a SAML Identity Provider (IdP) to bypass the first factor of authentication for a different user.
After a bit of digging, it was revealed that the flaw was reflected in many other SSO applications, thanks to a problem in handling the underlying "authentication language", something which has become a standard for products in this space.
"This issue is due to an inconsistency of XML DOM traversal APIs and their handling of comment nodes," Duo explained in a blog post. "Comment nodes should have no effect - and indeed, due to the canonicalisation of XML prior to signature verification, inserting an XML comment into a SAML message does not invalidate its signature."
However, the firm said the 'python-saml' code makes incorrect use of a DOM-traversal API, such that it fails to extract the full inner text of an XML element containing a comment. Instead, all the text after the comment is lost.
"To exploit this issue, an attacker inserts XML comments into select areas of the SAML assertions before passing them along to the DNG," the firm continued. "Once the DNG validates the signature and extracts the user's identifier, only part of the user's identifier is recovered."
Get the ITPro. daily newsletter
Receive our latest news, industry updates, featured resources and more. Sign up today to receive our FREE report on AI cyber crime & security - newly updated for 2024.
Duo said that in cases where an attacker's user identifier (for example: john_doe) can be truncated to become a victim's user identifier (for example: john), the attacker can trick the DNG into authenticating as the victim.
Luckily, however, the issue has been resolved now through a patch to the Duo Network Gateway, and its public announcement has allowed other security firms to fix potentially similar issues in their authentication gateways.
Main image credit: Shutterstock