CVE-2019-14318
Vulnerability from cvelistv5
Published
2019-07-30 16:26
Modified
2024-08-05 00:12
Severity ?
EPSS score ?
Summary
Crypto++ 8.3.0 and earlier contains a timing side channel in ECDSA signature generation. This allows a local or remote attacker, able to measure the duration of hundreds to thousands of signing operations, to compute the private key used. The issue occurs because scalar multiplication in ecp.cpp (prime field curves, small leakage) and algebra.cpp (binary field curves, large leakage) is not constant time and leaks the bit length of the scalar among other information.
References
{ "containers": { "adp": [ { "providerMetadata": { "dateUpdated": "2024-08-05T00:12:43.277Z", "orgId": "af854a3a-2127-422b-91ae-364da2661108", "shortName": "CVE" }, "references": [ { "tags": [ "x_refsource_MISC", "x_transferred" ], "url": "https://eprint.iacr.org/2011/232.pdf" }, { "tags": [ "x_refsource_MISC", "x_transferred" ], "url": "https://tches.iacr.org/index.php/TCHES/article/view/7337" }, { "tags": [ "x_refsource_MISC", "x_transferred" ], "url": "https://github.com/weidai11/cryptopp/issues/869" }, { "name": "openSUSE-SU-2019:1968", "tags": [ "vendor-advisory", "x_refsource_SUSE", "x_transferred" ], "url": "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00066.html" }, { "name": "[oss-security] 20191002 Minerva: ECDSA key recovery from bit-length leakage", "tags": [ "mailing-list", "x_refsource_MLIST", "x_transferred" ], "url": "http://www.openwall.com/lists/oss-security/2019/10/02/2" }, { "tags": [ "x_refsource_MISC", "x_transferred" ], "url": "https://minerva.crocs.fi.muni.cz/" } ], "title": "CVE Program Container" } ], "cna": { "affected": [ { "product": "n/a", "vendor": "n/a", "versions": [ { "status": "affected", "version": "n/a" } ] } ], "descriptions": [ { "lang": "en", "value": "Crypto++ 8.3.0 and earlier contains a timing side channel in ECDSA signature generation. This allows a local or remote attacker, able to measure the duration of hundreds to thousands of signing operations, to compute the private key used. The issue occurs because scalar multiplication in ecp.cpp (prime field curves, small leakage) and algebra.cpp (binary field curves, large leakage) is not constant time and leaks the bit length of the scalar among other information." } ], "problemTypes": [ { "descriptions": [ { "description": "n/a", "lang": "en", "type": "text" } ] } ], "providerMetadata": { "dateUpdated": "2019-10-03T13:27:08", "orgId": "8254265b-2729-46b6-b9e3-3dfca2d5bfca", "shortName": "mitre" }, "references": [ { "tags": [ "x_refsource_MISC" ], "url": "https://eprint.iacr.org/2011/232.pdf" }, { "tags": [ "x_refsource_MISC" ], "url": "https://tches.iacr.org/index.php/TCHES/article/view/7337" }, { "tags": [ "x_refsource_MISC" ], "url": "https://github.com/weidai11/cryptopp/issues/869" }, { "name": "openSUSE-SU-2019:1968", "tags": [ "vendor-advisory", "x_refsource_SUSE" ], "url": "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00066.html" }, { "name": "[oss-security] 20191002 Minerva: ECDSA key recovery from bit-length leakage", "tags": [ "mailing-list", "x_refsource_MLIST" ], "url": "http://www.openwall.com/lists/oss-security/2019/10/02/2" }, { "tags": [ "x_refsource_MISC" ], "url": "https://minerva.crocs.fi.muni.cz/" } ], "x_legacyV4Record": { "CVE_data_meta": { "ASSIGNER": "cve@mitre.org", "ID": "CVE-2019-14318", "STATE": "PUBLIC" }, "affects": { "vendor": { "vendor_data": [ { "product": { "product_data": [ { "product_name": "n/a", "version": { "version_data": [ { "version_value": "n/a" } ] } } ] }, "vendor_name": "n/a" } ] } }, "data_format": "MITRE", "data_type": "CVE", "data_version": "4.0", "description": { "description_data": [ { "lang": "eng", "value": "Crypto++ 8.3.0 and earlier contains a timing side channel in ECDSA signature generation. This allows a local or remote attacker, able to measure the duration of hundreds to thousands of signing operations, to compute the private key used. The issue occurs because scalar multiplication in ecp.cpp (prime field curves, small leakage) and algebra.cpp (binary field curves, large leakage) is not constant time and leaks the bit length of the scalar among other information." } ] }, "problemtype": { "problemtype_data": [ { "description": [ { "lang": "eng", "value": "n/a" } ] } ] }, "references": { "reference_data": [ { "name": "https://eprint.iacr.org/2011/232.pdf", "refsource": "MISC", "url": "https://eprint.iacr.org/2011/232.pdf" }, { "name": "https://tches.iacr.org/index.php/TCHES/article/view/7337", "refsource": "MISC", "url": "https://tches.iacr.org/index.php/TCHES/article/view/7337" }, { "name": "https://github.com/weidai11/cryptopp/issues/869", "refsource": "MISC", "url": "https://github.com/weidai11/cryptopp/issues/869" }, { "name": "openSUSE-SU-2019:1968", "refsource": "SUSE", "url": "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00066.html" }, { "name": "[oss-security] 20191002 Minerva: ECDSA key recovery from bit-length leakage", "refsource": "MLIST", "url": "http://www.openwall.com/lists/oss-security/2019/10/02/2" }, { "name": "https://minerva.crocs.fi.muni.cz/", "refsource": "MISC", "url": "https://minerva.crocs.fi.muni.cz/" } ] } } } }, "cveMetadata": { "assignerOrgId": "8254265b-2729-46b6-b9e3-3dfca2d5bfca", "assignerShortName": "mitre", "cveId": "CVE-2019-14318", "datePublished": "2019-07-30T16:26:56", "dateReserved": "2019-07-27T00:00:00", "dateUpdated": "2024-08-05T00:12:43.277Z", "state": "PUBLISHED" }, "dataType": "CVE_RECORD", "dataVersion": "5.1", "meta": { "nvd": "{\"cve\":{\"id\":\"CVE-2019-14318\",\"sourceIdentifier\":\"cve@mitre.org\",\"published\":\"2019-07-30T17:15:12.687\",\"lastModified\":\"2024-11-21T04:26:29.063\",\"vulnStatus\":\"Modified\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"Crypto++ 8.3.0 and earlier contains a timing side channel in ECDSA signature generation. This allows a local or remote attacker, able to measure the duration of hundreds to thousands of signing operations, to compute the private key used. The issue occurs because scalar multiplication in ecp.cpp (prime field curves, small leakage) and algebra.cpp (binary field curves, large leakage) is not constant time and leaks the bit length of the scalar among other information.\"},{\"lang\":\"es\",\"value\":\"Crypto++ versi\u00f3n 8.3.0 y anterior, contiene un canal lateral de sincronizaci\u00f3n en la generaci\u00f3n de firmas ECDSA. Esto permite a un atacante local o remoto, capaz de medir la duraci\u00f3n de cientos a miles de operaciones de firma, calcular la clave privada utilizada. El problema se produce porque la multiplicaci\u00f3n de scalar en el archivo ecp.cpp (curvas del campo principal, fugas peque\u00f1as) y el archivo algebra.cpp (curvas del campo binario, fugas grandes) no son de tiempo constante y filtra la longitud de bits del scalar entre otra informaci\u00f3n.\"}],\"metrics\":{\"cvssMetricV30\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"3.0\",\"vectorString\":\"CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N\",\"baseScore\":5.9,\"baseSeverity\":\"MEDIUM\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"HIGH\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"NONE\"},\"exploitabilityScore\":2.2,\"impactScore\":3.6}],\"cvssMetricV2\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"2.0\",\"vectorString\":\"AV:N/AC:M/Au:N/C:P/I:N/A:N\",\"baseScore\":4.3,\"accessVector\":\"NETWORK\",\"accessComplexity\":\"MEDIUM\",\"authentication\":\"NONE\",\"confidentialityImpact\":\"PARTIAL\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"NONE\"},\"baseSeverity\":\"MEDIUM\",\"exploitabilityScore\":8.6,\"impactScore\":2.9,\"acInsufInfo\":false,\"obtainAllPrivilege\":false,\"obtainUserPrivilege\":false,\"obtainOtherPrivilege\":false,\"userInteractionRequired\":false}]},\"weaknesses\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-417\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:cryptopp:crypto\\\\+\\\\+:*:*:*:*:*:*:*:*\",\"versionEndIncluding\":\"8.3.0\",\"matchCriteriaId\":\"A83A83BF-E04E-4E80-B0F8-46BB3DEF1D06\"}]}]}],\"references\":[{\"url\":\"http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00066.html\",\"source\":\"cve@mitre.org\"},{\"url\":\"http://www.openwall.com/lists/oss-security/2019/10/02/2\",\"source\":\"cve@mitre.org\"},{\"url\":\"https://eprint.iacr.org/2011/232.pdf\",\"source\":\"cve@mitre.org\",\"tags\":[\"Exploit\",\"Third Party Advisory\"]},{\"url\":\"https://github.com/weidai11/cryptopp/issues/869\",\"source\":\"cve@mitre.org\",\"tags\":[\"Patch\",\"Third Party Advisory\"]},{\"url\":\"https://minerva.crocs.fi.muni.cz/\",\"source\":\"cve@mitre.org\"},{\"url\":\"https://tches.iacr.org/index.php/TCHES/article/view/7337\",\"source\":\"cve@mitre.org\",\"tags\":[\"Third Party Advisory\"]},{\"url\":\"http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00066.html\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\"},{\"url\":\"http://www.openwall.com/lists/oss-security/2019/10/02/2\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\"},{\"url\":\"https://eprint.iacr.org/2011/232.pdf\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Exploit\",\"Third Party Advisory\"]},{\"url\":\"https://github.com/weidai11/cryptopp/issues/869\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\",\"Third Party Advisory\"]},{\"url\":\"https://minerva.crocs.fi.muni.cz/\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\"},{\"url\":\"https://tches.iacr.org/index.php/TCHES/article/view/7337\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Third Party Advisory\"]}]}}" } }
Loading…
Loading…
Sightings
Author | Source | Type | Date |
---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.