CVE-2019-12904
In Libgcrypt 1.8.4, the C implementation of AES is vulnerable to a flush-and-reload side-channel...
In Libgcrypt 1.8.4, the C implementation of AES is vulnerable to a flush-and-reload side-channel attack because physical addresses are available to other processes. (The C implementation is used on platforms where an assembly-language implementation is unavailable.) NOTE: the vendor's position is that the issue report cannot be validated because there is no description of an attack
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- None
- Availability
- None
Exploit likelihood
What each source reports
NVD Score used
5.9
In Libgcrypt 1.8.4, the C implementation of AES is vulnerable to a flush-and-reload side-channel attack because physical addresses are available to other processes. (The C implementation is used on platforms where an assembly-language implementation is unavailable.) NOTE: the vendor's position is that the issue report cannot be validated because there is no description of an attack
- Record
CVE-2019-12904- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N - CVSS 2.0
- 4.3 Medium
AV:N/AC:M/Au:N/C:P/I:N/A:N - Weakness
- CWE-668
- Updated
- 2026-11-02
CVE List No score
In Libgcrypt 1.8.4, the C implementation of AES is vulnerable to a flush-and-reload side-channel attack because physical addresses are available to other processes. (The C implementation is used on platforms where an assembly-language implementation is unavailable.) NOTE: the vendor's position is that the issue report cannot be validated because there is no description of an attack
- Record
CVE-2019-12904- Updated
- 2026-11-02
EUVDEUVD-2019-4482 No score
In Libgcrypt 1.8.4, the C implementation of AES is vulnerable to a flush-and-reload side-channel attack because physical addresses are available to other processes. (The C implementation is used on platforms where an assembly-language implementation is unavailable.) NOTE: the vendor's position is that the issue report cannot be validated because there is no description of an attack
- Record
EUVD-2019-4482- Updated
- 2026-11-02
GitHub AdvisoriesGHSA-w862-39x5-q88x
5.9
In Libgcrypt 1.8.4, the C implementation of AES is vulnerable to a flush-and-reload side-channel...
In Libgcrypt 1.8.4, the C implementation of AES is vulnerable to a flush-and-reload side-channel attack because physical addresses are available to other processes. (The C implementation is used on platforms where an assembly-language implementation is unavailable.)
- Record
GHSA-w862-39x5-q88x- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-668
- Updated
- 2026-11-02
OSVALPINE-CVE-2019-12904
5.9
In Libgcrypt 1.8.4, the C implementation of AES is vulnerable to a flush-and-reload side-channel attack because physical addresses are available to other processes. (The C implementation is used on platforms where an assembly-language implementation is unavailable.) NOTE: the vendor's position is that the issue report cannot be validated because there is no description of an attack
- Record
ALPINE-CVE-2019-12904- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
OSVBELL-CVE-2019-12904
5.9
CVE-2019-12904 does not affect BellSoft software
- Record
BELL-CVE-2019-12904- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
Show 5 moreShow less
OSV
5.9
In Libgcrypt 1.8.4, the C implementation of AES is vulnerable to a flush-and-reload side-channel attack because physical addresses are available to other processes. (The C implementation is used on platforms where an assembly-language implementation is unavailable.) NOTE: the vendor's position is that the issue report cannot be validated because there is no description of an attack
- Record
CVE-2019-12904- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
OSVopenSUSE-SU-2019:1792-1 No score
Security update for libgcrypt
This update for libgcrypt fixes the following issues:
Security issues fixed:
- CVE-2019-12904: The C implementation of AES is vulnerable to a flush-and-reload side-channel attack because physical addresses are available to other processes. (The C implementation is used on platforms where an assembly-language implementation is unavailable.) (bsc#1138939)
Other bugfixes:
- Don't run full FIPS self-tests from constructor (bsc#1097073)
- Skip all the self-tests except for binary integrity when called from the constructor (bsc#1097073)
- Enforce the minimal RSA keygen size in fips mode (bsc#1125740)
- avoid executing some tests twice.
- Fixed a race condition in initialization.
- Fixed env-script-interpreter in cavs_driver.pl
- Fixed redundant fips tests in some situations causing failure to boot in fips mode. (bsc#1097073)
This helps during booting of the system in FIPS mode with insufficient entropy.
This update was imported from the SUSE:SLE-15:Update update project.
- Record
openSUSE-SU-2019:1792-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:10941-1 No score
libgcrypt-cavs-1.9.4-1.2 on GA media
These are all security issues fixed in the libgcrypt-cavs-1.9.4-1.2 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:10941-1- Updated
- 2026-11-02
OSVSUSE-SU-2019:1859-1 No score
Security update for libgcrypt
This update for libgcrypt fixes the following issues:
Security issues fixed:
- CVE-2019-12904: The C implementation of AES is vulnerable to a flush-and-reload side-channel attack because physical addresses are available to other processes. (The C implementation is used on platforms where an assembly-language implementation is unavailable.) (bsc#1138939)
Other bugfixes:
- Don't run full FIPS self-tests from constructor (bsc#1097073)
- Skip all the self-tests except for binary integrity when called from the constructor (bsc#1097073)
- Enforce the minimal RSA keygen size in fips mode (bsc#1125740)
- avoid executing some tests twice.
- Fixed a race condition in initialization.
- Fixed env-script-interpreter in cavs_driver.pl
- Fixed redundant fips tests in some situations causing failure to boot in fips mode. (bsc#1097073)
This helps during booting of the system in FIPS mode with insufficient entropy.
- Record
SUSE-SU-2019:1859-1- Updated
- 2026-11-02
OSVSUSE-SU-2019:1971-1 No score
Security update for libgcrypt
This update for libgcrypt fixes the following issues:
Security issue fixed:
- CVE-2019-12904: Fixed a flush-and-reload side-channel attack in the AES implementation (bsc#1138939).
- Record
SUSE-SU-2019:1971-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
libgcryptAlpine:v3.10 |
before 1.8.4-r2 | 1.8.4-r2 |
libgcryptAlpine:v3.11 |
before 1.8.4-r2 | 1.8.4-r2 |
libgcryptAlpine:v3.12 |
before 1.8.4-r2 | 1.8.4-r2 |
libgcryptAlpine:v3.13 |
before 1.8.4-r2 | 1.8.4-r2 |
libgcryptAlpine:v3.14 |
before 1.8.4-r2 | 1.8.4-r2 |
libgcryptAlpine:v3.15 |
before 1.8.4-r2 | 1.8.4-r2 |
libgcryptAlpine:v3.16 |
before 1.8.4-r2 | 1.8.4-r2 |
libgcryptAlpine:v3.17 |
before 1.8.4-r2 | 1.8.4-r2 |
libgcryptAlpine:v3.18 |
before 1.8.4-r2 | 1.8.4-r2 |
libgcryptAlpine:v3.19 |
before 1.8.4-r2 | 1.8.4-r2 |
Show 12 moreShow less
| Package | Affected | Fixed |
|---|---|---|
libgcryptAlpine:v3.20 |
before 1.8.4-r2 | 1.8.4-r2 |
libgcryptAlpine:v3.21 |
before 1.8.4-r2 | 1.8.4-r2 |
libgcryptAlpine:v3.22 |
before 1.8.4-r2 | 1.8.4-r2 |
libgcryptAlpine:v3.23 |
before 1.8.4-r2 | 1.8.4-r2 |
libgcryptAlpine:v3.24 |
before 1.8.4-r2 | 1.8.4-r2 |
libgcryptAlpine:v3.7 |
before 1.8.3-r1 | 1.8.3-r1 |
libgcryptAlpine:v3.8 |
before 1.8.3-r1 | 1.8.3-r1 |
libgcryptAlpine:v3.9 |
before 1.8.4-r1 | 1.8.4-r1 |
libgcryptSUSE:Linux Enterprise Module for Basesystem 15 |
before 1.8.2-6.17.1 | 1.8.2-6.17.1 |
libgcryptSUSE:Linux Enterprise Module for Basesystem 15 SP1 |
before 1.8.2-8.6.2 | 1.8.2-8.6.2 |
libgcryptopenSUSE:Leap 15.0 |
before 1.8.2-lp150.5.10.1 | 1.8.2-lp150.5.10.1 |
libgcryptopenSUSE:Tumbleweed From an advisory covering 7 CVEs |
before 1.9.4-1.2 | 1.9.4-1.2 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2019-12904 is a medium vulnerability (CVSS 5.9) in Gnupg Libgcrypt, published June 19, 2019. Its validity is disputed. EPSS puts the chance of exploitation in the next 30 days at 2.21%, the 82nd percentile. Fixed in libgcrypt 1.8.4-r2.
References
dev.gnupg.org/T4541
github.com/gpg/libgcrypt/commit/daedbbb5541cd8ecda1459d3b843ea4d92788762
github.com/gpg/libgcrypt/commit/a4c561aab1014c3630bc88faf6f5246fee16b020
lists.opensuse.org/opensuse-security-announce/2019-07/msg00049.html
lists.apache.org/thread.html/rf9fa47ab66495c78bb4120b0754dd9531ca2ff0430f6685ac9b07772%40%3Cdev.mina.apache.org%3E
cert-portal.siemens.com/productcert/html/ssa-398330.html
Show 18 moreShow less
nvd.nist.gov/vuln/detail/CVE-2019-12904
lists.apache.org/thread.html/rf9fa47ab66495c78bb4120b0754dd9531ca2ff0430f6685ac9b07772@%3Cdev.mina.apache.org%3E
github.com/advisories/GHSA-w862-39x5-q88x
security.alpinelinux.org/vuln/CVE-2019-12904
docs.bell-sw.com/security/cves/CVE-2019-12904
suse.com/support/update/announcement/2019/suse-su-20191859-1
bugzilla.suse.com/1097073
bugzilla.suse.com/1125740
bugzilla.suse.com/1138939
suse.com/security/cve/CVE-2019-12904
suse.com/support/update/announcement/2019/suse-su-20191971-1
lists.opensuse.org/archives/list/[email protected]/thread/UGEWFAF5J7VQL4GHXAYUK44DD2MT4ZUY
suse.com/security/cve/CVE-2017-0379
suse.com/security/cve/CVE-2017-7526
suse.com/security/cve/CVE-2018-0495
suse.com/security/cve/CVE-2019-13627
suse.com/security/cve/CVE-2021-3345
suse.com/security/cve/CVE-2021-33560