CVE-2022-39299
Passport-SAML is a SAML 2.0 authentication provider for Passport, the Node.js authentication library. A remote attacker may be able to bypass SAML authentication on a website using passport-saml. A successful attack requires that the attacker is in possession of an arbitrary IDP signed XML element. Depending on the IDP used, fully unauthenticated attacks (e.g without access to a valid user) might also be feasible if generation of a signed message can be triggered. Users should upgrade to passport-saml version 3.2.2 or newer. The issue was also present in the beta releases of `node-saml` before version 4.0.0-beta.5. If you cannot upgrade, disabling SAML authentication may be done as a workaround.
CVSS
- Versión: 3.1
- Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
- Puntuación base: 8.1
Probabilidad de explotación (EPSS)
- Probabilidad de explotación en los próximos 30 días: 3.40%
- Percentil entre todas las CVEs puntuadas: 88
- Fecha de la puntuación: 6/10/2026
EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).
Tecnologías afectadas (1)
CWE
- CWE-347
- CWE-347
Referencias
- http://packetstormsecurity.com/files/169826/Node-saml-Root-Element-Signature-Bypass.html
- https://github.com/node-saml/passport-saml/commit/8b7e3f5a91c8e5ac7e890a0c90bc7491ce33155e
- https://github.com/node-saml/passport-saml/security/advisories/GHSA-m974-647v-whv7
- http://packetstormsecurity.com/files/169826/Node-saml-Root-Element-Signature-Bypass.html
- https://github.com/node-saml/passport-saml/commit/8b7e3f5a91c8e5ac7e890a0c90bc7491ce33155e
- https://github.com/node-saml/passport-saml/security/advisories/GHSA-m974-647v-whv7
JSON original (NVD)
Mostrar
{
"id": "CVE-2022-39299",
"cveTags": [],
"metrics": {
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2022-39299",
"role": "CISA Coordinator",
"options": [
{
"exploitation": "none"
},
{
"automatable": "no"
},
{
"technicalImpact": "total"
}
],
"version": "2.0.3",
"timestamp": "2025-04-23T15:48:05.050108Z"
}
}
],
"cvssMetricV31": [
{
"type": "Secondary",
"source": "security-advisories@github.com",
"cvssData": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 7.4,
"attackVector": "NETWORK",
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N",
"integrityImpact": "HIGH",
"userInteraction": "NONE",
"attackComplexity": "HIGH",
"availabilityImpact": "NONE",
"privilegesRequired": "NONE",
"confidentialityImpact": "HIGH"
},
"impactScore": 5.2,
"exploitabilityScore": 2.2
},
{
"type": "Primary",
"source": "nvd@nist.gov",
"cvssData": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 8.1,
"attackVector": "NETWORK",
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H",
"integrityImpact": "HIGH",
"userInteraction": "NONE",
"attackComplexity": "HIGH",
"availabilityImpact": "HIGH",
"privilegesRequired": "NONE",
"confidentialityImpact": "HIGH"
},
"impactScore": 5.9,
"exploitabilityScore": 2.2
}
]
},
"affected": [
{
"source": "security-advisories@github.com",
"affectedData": [
{
"vendor": "node-saml",
"product": "passport-saml",
"versions": [
{
"status": "affected",
"version": "< 3.2.2"
}
]
}
]
}
],
"published": "2022-10-12T21:15:09.673",
"references": [
{
"url": "http://packetstormsecurity.com/files/169826/Node-saml-Root-Element-Signature-Bypass.html",
"tags": [
"Third Party Advisory",
"VDB Entry"
],
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/node-saml/passport-saml/commit/8b7e3f5a91c8e5ac7e890a0c90bc7491ce33155e",
"tags": [
"Patch",
"Third Party Advisory"
],
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/node-saml/passport-saml/security/advisories/GHSA-m974-647v-whv7",
"tags": [
"Third Party Advisory"
],
"source": "security-advisories@github.com"
},
{
"url": "http://packetstormsecurity.com/files/169826/Node-saml-Root-Element-Signature-Bypass.html",
"tags": [
"Third Party Advisory",
"VDB Entry"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://github.com/node-saml/passport-saml/commit/8b7e3f5a91c8e5ac7e890a0c90bc7491ce33155e",
"tags": [
"Patch",
"Third Party Advisory"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://github.com/node-saml/passport-saml/security/advisories/GHSA-m974-647v-whv7",
"tags": [
"Third Party Advisory"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
}
],
"vulnStatus": "Modified",
"weaknesses": [
{
"type": "Secondary",
"source": "security-advisories@github.com",
"description": [
{
"lang": "en",
"value": "CWE-347"
}
]
},
{
"type": "Primary",
"source": "nvd@nist.gov",
"description": [
{
"lang": "en",
"value": "CWE-347"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Passport-SAML is a SAML 2.0 authentication provider for Passport, the Node.js authentication library. A remote attacker may be able to bypass SAML authentication on a website using passport-saml. A successful attack requires that the attacker is in possession of an arbitrary IDP signed XML element. Depending on the IDP used, fully unauthenticated attacks (e.g without access to a valid user) might also be feasible if generation of a signed message can be triggered. Users should upgrade to passport-saml version 3.2.2 or newer. The issue was also present in the beta releases of `node-saml` before version 4.0.0-beta.5. If you cannot upgrade, disabling SAML authentication may be done as a workaround."
},
{
"lang": "es",
"value": "Passport-SAML es un proveedor de autenticación SAML versión 2.0 para Passport, la biblioteca de autenticación de Node.js. Un atacante remoto puede ser capaz de omitir la autenticación SAML en un sitio web usando passport-saml. Un ataque con éxito requiere que el atacante esté en posesión de un elemento XML firmado por un IDP arbitrario. Dependiendo del IDP usado, también podrían ser factibles los ataques sin autenticación (por ejemplo, sin acceso a un usuario válido) si puede activarse la generación de un mensaje firmado. Los usuarios deben actualizar a versión 3.2.2 de passport-saml o más reciente. El problema también estaba presente en las versiones beta de \"node-saml\" versiones anteriores a 4.0.0-beta.5. Si no puede actualizarse, puede deshabilitarse la autenticación SAML como mitigación"
}
],
"lastModified": "2026-06-17T04:58:05.880",
"configurations": [
{
"nodes": [
{
"negate": false,
"cpeMatch": [
{
"criteria": "cpe:2.3:a:passport-saml_project:passport-saml:*:*:*:*:*:node.js:*:*",
"vulnerable": true,
"matchCriteriaId": "680B07BB-E2C0-4DD8-8C49-256652B31CAF",
"versionEndExcluding": "3.2.2"
},
{
"criteria": "cpe:2.3:a:passport-saml_project:passport-saml:4.0.0:beta1:*:*:*:node.js:*:*",
"vulnerable": true,
"matchCriteriaId": "975F4B3F-A8E6-4241-ACBB-196E069D8852"
},
{
"criteria": "cpe:2.3:a:passport-saml_project:passport-saml:4.0.0:beta2:*:*:*:node.js:*:*",
"vulnerable": true,
"matchCriteriaId": "03328340-AE1A-4E9B-94A6-A377B1947176"
},
{
"criteria": "cpe:2.3:a:passport-saml_project:passport-saml:4.0.0:beta3:*:*:*:node.js:*:*",
"vulnerable": true,
"matchCriteriaId": "18EB32E2-7824-4A22-A58A-6DEEAB02E3AD"
},
{
"criteria": "cpe:2.3:a:passport-saml_project:passport-saml:4.0.0:beta4:*:*:*:node.js:*:*",
"vulnerable": true,
"matchCriteriaId": "DF4C6124-FB33-4682-B68E-2D0341DB3B81"
}
],
"operator": "OR"
}
]
}
],
"sourceIdentifier": "security-advisories@github.com"
}