Security advisory
cipher/elgamal.c in Libgcrypt through 1.8.2, when used to encrypt messages directly, improperly encodes plaintexts, which allows attackers to obtain sensitive information by reading ciphertext data (i.e., it does not have semantic security in face of a ciphertext-only attack). The Decisional Diffie-Hellman (DDH) assumption does not hold for Libgcrypt's ElGamal implementation.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2018-6829
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 1 Nov 2026, 07:15 UTC · Revision 1
Source evidence
cipher/elgamal.c in Libgcrypt through 1.8.2, when used to encrypt messages directly, improperly encodes plaintexts, which allows attackers to obtain sensitive information by reading ciphertext data (i.e., it does not have semantic security in face of a ciphertext-only attack). The Decisional Diffie-Hellman (DDH) assumption does not hold for Libgcrypt's ElGamal implementation.
osv:CVE-2018-6829
Complete source record
{
"id": "e1d8eb8eb79c712deaf4a21e269e133fab8a23534e800b74437ebf842081655c",
"url": "https://osv.dev/vulnerability/CVE-2018-6829",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "CVE-2018-6829",
"summary": "cipher/elgamal.c in Libgcrypt through 1.8.2, when used to encrypt messages directly, improperly encodes plaintexts, which allows attackers to obtain sensitive information by reading ciphertext data (i.e., it does not have semantic security in face of a ciphertext-only attack). The Decisional Diffie-Hellman (DDH) assumption does not hold for Libgcrypt's ElGamal implementation.",
"evidence": "osv:CVE-2018-6829",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2018-6829",
"aliases": [
"CVE-2018-6829"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "git://git.gnupg.org/libgcrypt.git",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"last_affected": "eb84e429950b6a61c00112e70a584940c1d352e4"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:gnupg:libgcrypt:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"last_affected": "1.8.2"
}
],
"source": "CPE_RANGE"
}
]
}
}
],
"versions": [
"libgcrypt-1.8.2",
"libgcrypt-1.8.1",
"libgcrypt-1.8.0",
"libgcrypt-1.7.3",
"libgcrypt-1.7.2",
"libgcrypt-1.7.1",
"libgcrypt-1.7.0",
"libgcrypt-1.6.0",
"libgcrypt-1.5.0",
"libgcrypt-1.5.0-beta1",
"post-nuke-of-trailing-ws",
"ecc-integration-done",
"libgcrypt-1.4.4",
"libgcrypt-1.4.3",
"libgcrypt-1.4.2",
"libgcrypt-1.4.2rc2",
"libgcrypt-1.4.2rc1",
"libgcrypt-1.4.1",
"libgcrypt-1.4.1rc1",
"libgcrypt-1.4.0",
"libgcrypt-1.3.2",
"libgcrypt-1.3.1",
"libgcrypt-1.3.0",
"V1-2-1",
"V1-2-0",
"V1-1-94",
"marcus-after-thread-cbs",
"marcus-before-thread-cbs",
"V1-1-93",
"V1-1-92",
"V1-1-91",
"V1-1-90",
"V1-1-44",
"V1-1-43",
"V1-1-42",
"V1-1-12",
"V1-1-11",
"V1-1-10",
"V1-1-9",
"V1-1-8",
"V1-1-7",
"now-less-freedom-protected",
"last-gpl-version",
"V1-1-6",
"V1-1-5",
"V1-1-4",
"V1-1-3",
"V1-1-2",
"V1-1-0",
"DEVEL-BRANCH-1-1",
"V1-0-0",
"V0-9-11",
"V0-9-10",
"V0-9-9",
"V0-9-8",
"V0-9-7",
"V0-9-6",
"V0-9-5",
"V0-9-4",
"V1-0-4",
"V1-0-3",
"V1-0-2",
"V1-0-1-ePit-1",
"V1-0-1",
"V0-9-3",
"V0-9-2",
"V0-9-1",
"V0-9-0",
"V0-4-5",
"V0-4-4",
"V0-4-3",
"V0-4-2",
"V0-4-1",
"V0-4-0",
"V0-3-5",
"V0-3-4",
"V0-3-3",
"V0-3-2",
"V0-3-1",
"V0-3-0",
"V0-2-19",
"V0-2-18",
"V0-2-17",
"V0-2-15",
"V0-2-10",
"V-0-2-8",
"V0-2-6",
"V0-2-0",
"V0-1-0",
"V0-0-0"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2018-6829.json"
}
},
{
"ranges": [
{
"repo": "https://github.com/gpg/libgcrypt",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"last_affected": "eb84e429950b6a61c00112e70a584940c1d352e4"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:gnupg:libgcrypt:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"last_affected": "1.8.2"
}
],
"source": "CPE_RANGE"
}
]
}
}
],
"versions": [
"libgcrypt-1.8.2",
"libgcrypt-1.8.1",
"libgcrypt-1.8.0",
"libgcrypt-1.7.3",
"libgcrypt-1.7.2",
"libgcrypt-1.7.1",
"libgcrypt-1.7.0",
"libgcrypt-1.6.0",
"libgcrypt-1.5.0",
"libgcrypt-1.5.0-beta1",
"post-nuke-of-trailing-ws",
"ecc-integration-done",
"libgcrypt-1.4.4",
"libgcrypt-1.4.3",
"libgcrypt-1.4.2",
"libgcrypt-1.4.2rc2",
"libgcrypt-1.4.2rc1",
"libgcrypt-1.4.1",
"libgcrypt-1.4.1rc1",
"libgcrypt-1.4.0",
"libgcrypt-1.3.2",
"libgcrypt-1.3.1",
"libgcrypt-1.3.0",
"V1-2-1",
"V1-2-0",
"V1-1-94",
"marcus-after-thread-cbs",
"marcus-before-thread-cbs",
"V1-1-93",
"V1-1-92",
"V1-1-91",
"V1-1-90",
"V1-1-44",
"V1-1-43",
"V1-1-42",
"V1-1-12",
"V1-1-11",
"V1-1-10",
"V1-1-9",
"V1-1-8",
"V1-1-7",
"now-less-freedom-protected",
"last-gpl-version",
"V1-1-6",
"V1-1-5",
"V1-1-4",
"V1-1-3",
"V1-1-2",
"V1-1-0",
"DEVEL-BRANCH-1-1",
"V1-0-0",
"V0-9-11",
"V0-9-10",
"V0-9-9",
"V0-9-8",
"V0-9-7",
"V0-9-6",
"V0-9-5",
"V0-9-4",
"V1-0-4",
"V1-0-3",
"V1-0-2",
"V1-0-1-ePit-1",
"V1-0-1",
"V0-9-3",
"V0-9-2",
"V0-9-1",
"V0-9-0",
"V0-4-5",
"V0-4-4",
"V0-4-3",
"V0-4-2",
"V0-4-1",
"V0-4-0",
"V0-3-5",
"V0-3-4",
"V0-3-3",
"V0-3-2",
"V0-3-1",
"V0-3-0",
"V0-2-19",
"V0-2-18",
"V0-2-17",
"V0-2-15",
"V0-2-10",
"V-0-2-8",
"V0-2-6",
"V0-2-0",
"V0-1-0",
"V0-0-0"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2018-6829.json"
}
}
],
"modified": "2026-10-24T10:30:50.872578442Z",
"provider": "osv",
"references": [
"https://www.oracle.com/security-alerts/cpujan2020.html",
"https://github.com/weikengchen/attack-on-libgcrypt-elgamal",
"https://lists.gnupg.org/pipermail/gcrypt-devel/2018-February/004394.html",
"https://github.com/weikengchen/attack-on-libgcrypt-elgamal/wiki"
],
"provider_metadata": {}
},
"related_cves": [
{
"value": "CVE-2018-6829",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 437353,
"published_at": "2018-02-07T23:29:01.703+00:00"
}