Skip to content
Fencer Vulns
high 7.5

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

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-cryptography
    affected: no fix available
  • Red Hat OpenStack Platform 13.0 python-cryptography 2.1.4-3.el7ost, python2-cryptography 2.1.4-3.el7ost
    fixed: 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-cryptography
    not 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

Sources

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.