CVE-2018-10903 json
PyCA Cryptography vulnerable to GCM tag forgery
published 2018-07-30 8 y ago modified 2026-06-17 4 mo ago also GHSA-fcf9-3qw3-gxmj , PYSEC-2018-52 , EUVD-2018-0030
- cvss
- 7.5
- version 3.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 3.2%
- EPSS 3.2% chance of exploitation in 30 days, percentile 88%
- public exploits
- 0
- none known
Summary
A flaw was found in python-cryptography versions between >=1.9.0 and <2.3. The finalize_with_tag API did not enforce a minimum tag length. If a user did not validate the input length prior to passing it to finalize_with_tag an attacker could craft an invalid payload with a shortened tag (e.g. 1 byte) such that they would have a 1 in 256 chance of passing the MAC check. GCM tag forgeries can cause key leakage.
Patch / fix
- pypi cryptography 2.3
- cryptography python-cryptography 2.3
- python-cryptography Debian 14, Debian 13, Debian 12 2.3-1
debian advisories DEBIAN-CVE-2018-10903
- python-cryptography Ubuntu 18.04 LTS 2.1.4-1ubuntu1.2
ubuntu advisories UBUNTU-CVE-2018-10903
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
- python-cryptography openstack 13 2.1.4-3.el7ost
- python2-cryptography openstack 13 2.1.4-3.el7ost
red hat advisories RHSA-2018:3600
- python-cryptography-vectors openSUSE Leap 15.3 2.9.2-150200.3.3.1
- python-cryptography SLES for SAP 15 SP2, SLES 15 SP2-LTSS, SLES 15 SP2-BCL +12 more 2.9.2-150200.13.1
- python-cryptography SLES for SAP 12 SP5, SLES for SAP 12 SP4, SLES for SAP 12 SP3 +12 more 2.1.4-7.28.2
- python-cffi SLES for SAP 12 SP5, SLES for SAP 12 SP4, SLES for SAP 12 SP3 +12 more 1.11.2-5.11.1
- python-xattr SLES for SAP 12 SP5, SLES for SAP 12 SP4, SLES for SAP 12 SP3 +12 more 0.7.5-6.3.2
- python-cryptography OpenStack Cloud Crowbar 8, OpenStack Cloud 8, HPE Helion OpenStack 8 2.0.3-3.3.1
- python-cryptography SLE Module for Basesystem 15 2.1.4-4.3.1
- python-xattr SLES for SAP 12 SP1, SLES 12 SP1-LTSS 0.7.5-3.2.1
suse advisories SUSE-SU-2022:4044-1SUSE-SU-2020:0792-1SUSE-SU-2020:0790-1SUSE-SU-2018:3553-1SUSE-SU-2018:3392-1
- github.com/pyca/cryptography#4342 commit
- github.com/pyca/cryptography@d4378e4 commit
- github.com/pyca/cryptography#4342 pull request
- bugzilla.redhat.com/show_bug.cgi?id=CVE-2018-10903 advisory
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-2018-10903 updated cvss 7.5
python-cryptography: GCM tag forgery via truncated tag in finalize_with_tag API
-
Red Hat OpenStack Platform 14 (Rocky) python2-cryptographyaffected: no fix available
-
Red Hat OpenStack Platform 13.0 python-cryptography 2.1.4-3.el7ost, python2-cryptography 2.1.4-3.el7ostfixed: vendor fix RHSA-2018:3600
-
Red Hat Enterprise Linux 7 python-cryptography, python2-cryptography Red Hat Enterprise Linux 8 python-cryptography, python3-cryptography Red Hat Enterprise Linux OpenStack Platform 7 (Kilo) python-cryptography Red Hat OpenStack Platform 8 (Liberty) python-cryptography Red Hat OpenStack Platform 9 (Mitaka) python-cryptography Red Hat Virtualization 4 python2-cryptographynot affected: vulnerable code not present
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
3.20% chance of exploitation in the next 30 days, higher than 88% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.0 | 7.5 | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
| NVD | 3.0 | 7.5 | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
| NVD | 2.0 | 5.0 | AV:N/AC:L/Au:N/C:P/I:N/A:N |
| GitHub | 3.0 | 7.5 | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | cryptography | >=1.9.0, <2.3 >=1.9, <2.3 |
2.3 |
Affected products
- [UNKNOWN] python-cryptography
Classification
- Weakness
-
- CWE-20 Improper Input Validation
References
-
github.com
/pyca/cryptography/pull/4342/commits/688e0f673bfbf43fa898994326c6877f00ab19ef
patch, third-party-advisory, web
-
bugzilla.redhat.com
/show_bug.cgi?id=CVE-2018-10903
web, issue-tracking, patch, third-party-advisory, report
-
github.com
/pyca/cryptography/pull/4342
web
-
github.com
/pyca/cryptography/commit/d4378e42937b56f473ddade2667f919ce32208cb
web
-
access.redhat.com
/errata/RHSA-2018:3600
vendor-advisory, web, advisory
-
usn.ubuntu.com
/3720-1/
vendor-advisory, third-party-advisory, web
-
nvd.nist.gov
/vuln/detail/CVE-2018-10903
advisory
-
github.com
/advisories/GHSA-fcf9-3qw3-gxmj
advisory
-
github.com
/pyca/cryptography
package
-
github.com
/pypa/advisory-database/tree/main/vulns/cryptography/PYSEC-2018-52.yaml
web
-
usn.ubuntu.com
/3720-1
web
Sources
- CVE List CVE-2018-10903
- GitHub Advisory GHSA-fcf9-3qw3-gxmj
- NVD CVE-2018-10903
- OSV PYSEC-2018-52
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.