Skip to content
Heist/ feed
Back to feed
Critical

passport-saml-encrypted through 0.1.13 XML Signature Wrapping via Assertion Prepending

Type: advisorySources: OSV

passport-saml-encrypted through 0.1.13 contains an XML signature wrapping vulnerability where signature verification and assertion extraction use independent XPath lookups with no cross-validation. Attackers holding any validly signed SAML message can prepend a forged unsigned assertion that gets accepted as the verified identity while the genuine signature validates against the original assertion.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-89043
Confirmed fixed CVEs
Not specified
Updated in this feed
7 Nov 2026, 16:24 UTC · Revision 1

Source evidence

passport-saml-encrypted through 0.1.13 XML Signature Wrapping via Assertion Prepending

core-osv · Original source

Published 10 Sept 2026, 17:39 UTC

passport-saml-encrypted through 0.1.13 contains an XML signature wrapping vulnerability where signature verification and assertion extraction use independent XPath lookups with no cross-validation. Attackers holding any validly signed SAML message can prepend a forged unsigned assertion that gets accepted as the verified identity while the genuine signature validates against the original assertion.

osv:CVE-2026-89043
Complete source record
{
  "id": "98b81a73fed2f59721d42d2271f035a494f70ff80c11d1ff5f922df2e3ada199",
  "url": "https://osv.dev/vulnerability/CVE-2026-89043",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "passport-saml-encrypted through 0.1.13 XML Signature Wrapping via Assertion Prepending",
    "summary": "passport-saml-encrypted through 0.1.13 contains an XML signature wrapping vulnerability where signature verification and assertion extraction use independent XPath lookups with no cross-validation. Attackers holding any validly signed SAML message can prepend a forged unsigned assertion that gets accepted as the verified identity while the genuine signature validates against the original assertion.",
    "evidence": "osv:CVE-2026-89043",
    "products": [],
    "severity": "critical",
    "structured": {
      "id": "CVE-2026-89043",
      "aliases": [
        "CVE-2026-89043"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/krakenjs/passport-saml-encrypted",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "last_affected": "1ab28eb11928d66d50af8f231ccb71f7c1923fda"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "last_affected": "0.1.13"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandardRange"
                  },
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "last_affected": "0.1.13"
                      }
                    ],
                    "source": "DESCRIPTION"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v0.1.12",
            "v0.1.13",
            "v0.1.13-beta.1",
            "v0.1.11",
            "v0.1.10",
            "v0.1.9",
            "v0.1.6",
            "v0.1.5",
            "v0.1.4",
            "v0.1.3",
            "v0.1.1",
            "v0.1.0",
            "v0.0.4",
            "v0.0.3",
            "v0.0.2"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-89043.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:51.119940869Z",
      "provider": "osv",
      "references": [
        "https://www.npmjs.com/package/passport-saml-encrypted",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/89xxx/CVE-2026-89043.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-89043",
        "https://www.vulncheck.com/advisories/passport-saml-encrypted-through-0.1.13-xml-signature-wrapping-via-assertion-prepending",
        "https://github.com/krakenjs/passport-saml-encrypted/issues/30",
        "https://github.com/krakenjs/passport-saml-encrypted",
        "https://github.com/krakenjs/passport-saml-encrypted/blob/v0.1.13/lib/saml.js#L256",
        "https://github.com/krakenjs/passport-saml-encrypted/blob/v0.1.13/lib/saml.js#L328"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-347"
        ],
        "cna_assigner": "VulnCheck",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/89xxx/CVE-2026-89043.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-89043",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 519866,
  "published_at": "2026-09-10T17:39:33.458+00:00"
}