Miggo Logo

CVE-2017-11430: OmniAuth-SAML authentication bypass via incorrect XML canonicalization and DOM traversal

7.7

CVSS Score
3.0

Basic Information

EPSS Score
0.70985%
Published
7/5/2019
Updated
8/29/2023
KEV Status
No
Technology
TechnologyRuby

Technical Details

CVSS Vector
CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N
Package NameEcosystemVulnerable VersionsFirst Patched Version
omniauth-samlrubygems< 1.10.01.10.0

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from improper handling of XML canonicalization and text extraction in SAML responses. The NameID extraction function uses XML DOM traversal APIs (like REXML's text method) that stop at the first text node, ignoring subsequent text after comments. This allows attackers to inject comments to manipulate the effective NameID value while keeping the cryptographic signature valid. The function responsible for parsing NameID (commonly found in response handling code) would be the primary vulnerable component, as confirmed by the described attack vector and Ruby's REXML behavior.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

Omni*ut* Omni*ut*-S*ML *.*.* *n* **rli*r m*y in*orr**tly utiliz* t** r*sults o* XML *OM tr*v*rs*l *n* **noni**liz*tion *PIs in su** * w*y t**t *n *tt**k*r m*y ** **l* to m*nipul*t* t** S*ML **t* wit*out inv*li**tin* t** *rypto*r*p*i* si*n*tur*, *llow

Reasoning

T** vuln*r**ility st*ms *rom improp*r **n*lin* o* XML **noni**liz*tion *n* t*xt *xtr**tion in S*ML r*spons*s. T** N*m*I* *xtr**tion *un*tion us*s XML *OM tr*v*rs*l *PIs (lik* R*XML's t*xt m*t*o*) t**t stop *t t** *irst t*xt no**, i*norin* su*s*qu*nt