Just a month in the job: Claude found a way to log in to other people’s corporate accounts via SAML

Depov

Moderator
Staff member
MODERATOR
ULTIMATE
SUPREME
PREMIUM
MEMBER
Joined
Feb 18, 2025
Messages
422
Reaction score
685
Deposit
0$
The developer gave Claude the task of checking the implementation of corporate login through SAML and for a month found vulnerabilities that allowed you to enter other people's accounts, disclose data and disable services. Some of the problems found have not yet been corrected.

The technical director of Oblique Eric Chiang checked with the help of Claude Opus almost all the implementations of SAML that could be found. Instead of detailed instructions, the model described possible threats and allowed to independently look for unusual behavior of libraries, and then combine the findings and check them with working examples.

SAML is used for a single login to corporate applications. The weak point of the protocol has long been how programs handle XML and digital signatures. Different components may interpret one document differently. As a result, the program checks the signature of one part of the message, but then trusts the data from another.

Claude found that authentication can be completely bypassed in four projects: Authentik, LightSaml, OneUptime and Java library saml-client. In Authentik, the vulnerability of CVE-2026-57580 received 8.7 points out of 10. Specially formed NameID with a comment XML allowed you to link the external identity of an attacker to an existing account and then enter under the name of the victim without her password.


The problem affected Authentik to 2026.5.4 and 2026.2.5 inclusive. Developers have closed the vulnerability in 2026.5.5 and 2026.2.6 versions. To exploit the vulnerability, you needed an account from the ID provider and the ability to set your own NameID.

In the PHP-library LightSaml discovered another way to circumvent the inspection. The components have differently defined which element XML protects the digital signature. The attacker could use a real signed design, but to force the application to accept fake information about the user. The error affected versions up to 5.0.0 inclusive and fixed in 5.0.1.

After checking the main entry mechanism, Chiang switched to less studied SAML messages. In twelve projects, there were ways to bypass signature verification when the system requests authentication, receives attributes or the user exits the system. Such errors could disclose information or forcibly complete other people's sessions. One example was published by the developer for samlify.

A separate class of problems is related to denial of service. Many SAML libraries accept arbitrary XML documents from the Internet, so a specially prepared request can dramatically increase memory consumption. For Go already fixed the problem in goxmldsig, because of which the memory could grow square. In libraries for Python and Node.js, according to Oblique, some of these errors remain open. For python3-saml and PySAML2, separate reports have been published resources can be over-expended through XSLT transformations.

Chiang came to the conclusion that mature SAML libraries have become noticeably more resistant to attempts to completely circumvent the entrance, but new implementations continue to repeat old mistakes. He advises developers not to create their own SAML implementation from scratch, and existing solutions are further checked by automated means for known error classes.
 
Top Bottom