CVE-2020-5390 json
Improper Verification of Cryptographic Signature in PySAML2
published 2020-01-13 6 y ago modified 2026-06-17 4 mo ago also GHSA-qf7v-8hj3-4xw7 , PYSEC-2020-94 , EUVD-2020-0157
- cvss
- 7.5
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.2%
- EPSS 1.2% chance of exploitation in 30 days, percentile 69%
- public exploits
- 0
- none known
Summary
PySAML2 before 5.0.0 does not check that the signature in a SAML document is enveloped and thus signature wrapping is effective, i.e., it is affected by XML Signature Wrapping (XSW). The signature information and the node/object that is signed can be in different places and thus the signature verification will succeed, but the wrong data will be used. This specifically affects the verification of assertion that have been signed.
Patch / fix
- pypi pysaml2 5.0.0
- pysaml2_project pysaml2 5.0.0
- python-pysaml2 Debian 14, Debian 13, Debian 12 4.5.0-7
debian advisories DEBIAN-CVE-2020-5390
- python-pysaml2 Ubuntu 16.04 LTS 3.0.0-3ubuntu1.16.04.4
- python-pysaml2 Ubuntu 18.04 LTS 4.0.2-0ubuntu3.1
ubuntu advisories UBUNTU-CVE-2020-5390
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- spark OpenStack Cloud Crowbar 9, OpenStack Cloud 9 2.2.3-5.3.3
- grafana OpenStack Cloud Crowbar 9, OpenStack Cloud 9 6.7.4-3.20.1
- influxdb OpenStack Cloud Crowbar 9, OpenStack Cloud 9 1.3.8-4.3.3
- ardana-mq OpenStack Cloud 9 9.0+git.1605174486.a78ddce-3.19.2
- crowbar-core OpenStack Cloud Crowbar 9 6.0+git.1606314264.bf9ada813-3.31.2
- python-Jinja2 OpenStack Cloud Crowbar 9, OpenStack Cloud 9 2.10.1-3.3.3
- python-pytest OpenStack Cloud Crowbar 9, OpenStack Cloud 9 3.7.4-3.3.3
- ardana-tempest OpenStack Cloud 9 9.0+git.1603378983.fc0bca9-3.19.2
suse advisories SUSE-SU-2020:3897-1SUSE-RU-2020:2072-1SUSE-SU-2020:1901-1
- python-pysaml2 openSUSE Tumbleweed 7.5.4-1.1
- python-pysaml2 openSUSE Tumbleweed 7.4.2-1.2
opensuse advisories openSUSE-SU-2026:11524-1openSUSE-SU-2024:14156-1
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2020-5390 updated cvss 7.5
python-pysaml2: does not check that the signature in a SAML document is enveloped
-
Red Hat Enterprise Linux OpenStack Platform 7 (Kilo) python-pysaml2 Red Hat OpenStack Platform 10 (Newton) python-pysaml2 Red Hat OpenStack Platform 13 (Queens) python-pysaml2 Red Hat OpenStack Platform 15 (Stein) python3-pysaml2 Red Hat OpenStack Platform 16 (Train) python-pysaml2, python3-pysaml2affected: workaround, no fix planned “There is no known mitigation for this issue, the flaw can only be resolved by applying updates.”
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
Exploit prediction
1.23% chance of exploitation in the next 30 days, higher than 69% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N |
| NVD | 2.0 | 5.0 | AV:N/AC:L/Au:N/C:N/I:P/A:N |
| GitHub | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | pysaml2 | <5.0.0 |
5.0.0 |
Classification
- Weakness
-
- CWE-347 Improper Verification of Cryptographic Signature
References
-
github.com
/IdentityPython/pysaml2/commit/5e9d5acbcd8ae45c4e736ac521fd2df5b1c62e25
web, patch, third-party-advisory
-
github.com
/IdentityPython/pysaml2/commit/f27c7e7a7010f83380566a219fd6a290a00f2b6e
web, patch, third-party-advisory
-
usn.ubuntu.com
/4245-1/
vendor-advisory, third-party-advisory, web
-
debian.org
/security/2020/dsa-4630
vendor-advisory, web, third-party-advisory, advisory
-
github.com
/IdentityPython/pysaml2/releases/tag/v5.0.0
web, release-notes, third-party-advisory
-
github.com
/IdentityPython/pysaml2/releases
web, release-notes, third-party-advisory
-
pypi.org
/project/pysaml2/5.0.0/
product, third-party-advisory, package
-
lists.debian.org
/debian-lts-announce/2020/02/msg00025.html
mailing-list, web, third-party-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2020-5390
advisory
-
github.com
/IdentityPython/pysaml2
package
-
github.com
/IdentityPython/pysaml2/blob/master/CHANGELOG.md#500-2020-01-13
web
-
github.com
/advisories/GHSA-qf7v-8hj3-4xw7
advisory
-
github.com
/pypa/advisory-database/tree/main/vulns/pysaml2/PYSEC-2020-94.yaml
web
-
pypi.org
/project/pysaml2/5.0.0
web
-
usn.ubuntu.com
/4245-1
web
Sources
- CVE List CVE-2020-5390
- GitHub Advisory GHSA-qf7v-8hj3-4xw7
- NVD CVE-2020-5390
- OSV PYSEC-2020-94
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.