XML Signature Wrapping authentication bypass in Moldova’s MPass SAML NuGet library, fixed in 10.0.4 (CVE requested, CAN-2026-2041077)
Egov.Integrations.MPass.Saml, the ASP.NET Core handler that relying parties use to verify MPass SAML 2.0 responses, verified signatures like this in every version before 10.0.4: signedXml.LoadXml(signatureElement); return signedXml.CheckSignature(publicCertificate, verifySignatureOnly: true); CheckSignature confirms that the references in SignedInfo are validly signed. Nothing tied a signed reference to the response root the relying party then reads, so anyone holding one validly signed MPass message could relocate the signed element, put chosen assertion content at the root, and still pass verification. The result is authentication as an arbitrary user. Version 10.0.4 adds the missing check: exactly one reference, and its URI must equal the root element ID. Weakness: CWE-347 (Improper Verification of Cryptographic Signature) Attack pattern: CAPEC-475 (Signature Spoofing by Improper Validation) Affected: 8.0.53 to 8.0.56 and 10.0.2 Fixed: 10.0.4 and 10.0.5 Serghei Zagaiciuc found and publicly disclosed the flaw. I confirmed the affected range and the fix by decompiling the published packages. I have submitted a CVE ID request through the MITRE CNA of Last Resort form; so far it has a tracking number, CAN-2026-2041077, and no CVE ID has been assigned yet. No exploit is published. Advisory with the decompiled diff: https://www.masiutin.net/mpass-saml-xml-signature-wrapping.html Original disclosure: https://www.linkedin.com/posts/sergheizagaiciuc_moldova-had-a-major-cybersecurity-blunder-activity-7520870795661897730-j8_I submitted by /u/maxim-masiutin [link] [comments]Technical Information Security Content & DiscussionRead More