Description
OneUptime is an open-source monitoring and observability platform. Prior to version 10.0.42, OneUptime's SAML SSO implementation (App/FeatureSet/Identity/Utils/SSO.ts) has decoupled signature verification and identity extraction. isSignatureValid() verifies the first <Signature> element in the XML DOM using xml-crypto, while getEmail() always reads from assertion[0] via xml2js. An attacker can prepend an unsigned assertion containing an arbitrary identity before a legitimately signed assertion, resulting in authentication bypass. This issue has been patched in version 10.0.42.
Problem types
CWE-347: Improper Verification of Cryptographic Signature
Product status
References
github.com/...uptime/security/advisories/GHSA-5w5c-766x-265g
github.com/...ommit/2fd7ede52f60444710628d6c1b34dee2ef9e57d1
github.com/OneUptime/oneuptime/releases/tag/10.0.42