Skip to content

Executive Summary

The Security Assertion Markup Language (SAML) protocol originated in academia and corporate IT departments, evolving as a solution for users to authenticate across numerous web services, driven by the rise of Software-as-a-Service (SaaS). The complexity of SAML stems from its foundation on XML, which introduces significant challenges related to security validation, exemplified by vulnerabilities like XML signature wrapping (XSW) and inherent issues with XML's complexity compared to alternatives like JSON. Development was characterized by a committee-based design process, leading to "kitchen-sink" protocol design that incorporated various standards. Security research began to exert pressure, notably through the identification of XSW attacks, which prompted work on related security concepts like canonicalization and enveloped signatures. This evolution has led to the recognition of SAML's flaws—including complexity, issues with canonicalization consistency, and outdated architectural assumptions regarding transport and network topologies—ultimately pushing the industry toward modern alternatives like OpenID Connect (OIDC).

Facts Only

* SAML was created in 2002 by the Organization for the Advancement of Structured Information Standards (OASIS) Security Services Technical Committee (SSTC).
* Four XML-based security protocols were contributed to the SSTC: S2ML, AuthXML, X-TASS, and ITML.
* Authentication projects included CAS (Yale, 2002), Shibboleth IdP (Internet2, 2003), ADFS (Microsoft, 2003), and simpleSAMLphp (Uninett, circa 2007).
* The SSO and authentication provider industry saw the emergence of companies like Ping Identity (2002), OneLogin (2009), Okta (2009), and Duo Security (2010).
* XML is complex compared to JSON, and SAML implementations often rely on complex XML signature validation.
* XML contains numerous security bug classes, including XXE, entity expansion, DTD retrieval (SSRF), XPath/XQuery/XInclude/XSLT/CDATA injection.
* XML signature wrapping (XSW) attacks were tested in the context of SAML implementation.
* Canonicalization issues can lead to parser differential and round-trip bugs.
* SAML design is critiqued for being built on complex XML, utilizing "kitchen-sink" design, and suffering from ossification due to outdated assumptions about transport (HTTP vs. HTTPS) and network topology.

Full Take

The narrative traces a clear trajectory from an early, committee-driven effort to define protocols to a modern critique focused on agility and modern cryptographic primitives, positioning SAML as an artifact of historical constraints rather than optimal design. The consistent pattern is the tension between an established, historically significant standard that enabled massive economic impact and time-tested use cases, versus newer alternatives characterized by modularity and evolution. The focus on XML's inherent complexity leading to fragility in signature handling and canonicalization highlights a systemic failure where the chosen transport layer (XML) complicated security enforcement rather than simplifying it. The pattern of ossification—where SAML failed to adapt to macro-events like the rise of Zero Trust, mobile computing, and modern transport security—suggests that protocol design must account for evolving environmental assumptions, not just immediate functional requirements. This suggests a recurring challenge in standardization: balancing broad consensus with the necessity for adaptive agility in rapidly changing technical landscapes. The implications point toward an ongoing necessity to favor protocols built on more flexible structures, like JSON and JOSE, which inherently accommodate the dynamism required by contemporary security needs, over frameworks built around monolithic markup languages.

From the original · Trail of Bits Blog

Born out of academia and raised in corporate IT departments, the Security Assertion Markup Language (SAML) authentication protocol continues to be a staple in these organizations. However, it’s time for it to retire.
Read the full story at blog.trailofbits.com

Sentinel — Human

Confidence

The text is a deeply argued, expert-level critique of SAML's design and evolution, demonstrating strong human analytical synthesis over pure factual reporting.

Signals Detected
low severity: Erratic sentence length variance and distinct voice; use of personal anecdote (e.g., 'I worked on Duo’s first on-premises Access Gateway product'); less mechanical transition use.
low severity: Passionate, argumentative flow directly tied to the central thesis (SAML is a fractal of bad design); idiosyncratic emphasis on structural flaws rather than neutral summary.
low severity: Structured argument built around specific critiques (XML complexity, canonicalization, ossification) supported by historical context and internal examples.
low severity: References to specific academic works, protocol evolution timelines, and named individuals/products suggest deep domain knowledge, increasing verification potential.
Human Indicators
Presence of a distinct, highly opinionated, yet well-informed authorial voice throughout the piece.
Inclusion of specific, non-public historical and technical details (e.g., XSW attacks, specific protocol history) that suggest lived experience with the material.
Use of rhetorical framing ('fractal of bad design') typical of expert opinion rather than objective reporting.
SAML: A fractal of bad design | Huntaegis