{"id":"CVE-2015-7940","aliases":["DEBIAN-CVE-2015-7940","DLA-361-1","DSA-3417-1","EUVD-2018-0502","GHSA-4mv7-cq75-3qjm","MGASA-2015-0487","UBUNTU-CVE-2015-7940","USN-3727-1","openSUSE-SU-2024:10486-1"],"status":"published","title":"Moderate severity vulnerability that affects org.bouncycastle:bcprov-jdk14 and org.bouncycastle:bcprov-jdk15","description":"The Bouncy Castle Java library before 1.51 does not validate a point is withing the elliptic curve, which makes it easier for remote attackers to obtain private keys via a series of crafted elliptic curve Diffie Hellman (ECDH) key exchanges, aka an \"invalid curve attack.\"","severity":{"version":"2.0","score":5,"vector":"AV:N/AC:L/Au:N/C:P/I:N/A:N","level":"medium","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-09","score":0.0469,"percentile":0.91854,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-200","CWE-310"],"published":"2015-11-09T00:00:00Z","modified":"2026-09-09T06:47:20Z","fixes":[{"ecosystem":"Maven","package":"org.bouncycastle:bcprov-jdk15","fixed_in":["1.51"],"sources":["ghsa","osv"]},{"ecosystem":"Maven","package":"org.bouncycastle:bcprov-jdk14","fixed_in":["1.51"],"sources":["ghsa","osv"]},{"ecosystem":"Maven","package":"org.bouncycastle:bcprov-jdk15on","fixed_in":["1.51"],"sources":["ghsa","osv"]},{"ecosystem":"Debian:12","package":"bouncycastle","fixed_in":["1.51-1"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"bouncycastle","fixed_in":["1.51-1"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"bouncycastle","fixed_in":["1.51-1"],"sources":["osv"]},{"ecosystem":"Debian:6.0","package":"bouncycastle","fixed_in":["1.44+dfsg-2+deb6u1"],"sources":["osv"]},{"ecosystem":"Debian:7","package":"bouncycastle","fixed_in":["1.44+dfsg-3.1+deb7u1"],"sources":["osv"]},{"ecosystem":"Debian:8","package":"bouncycastle","fixed_in":["1.49+dfsg-3+deb8u1"],"sources":["osv"]},{"ecosystem":"Mageia:5","package":"bouncycastle","fixed_in":["1.50-3.1.mga5"],"sources":["osv"]},{"ecosystem":"Ubuntu:14.04:LTS","package":"bouncycastle","fixed_in":["1.49+dfsg-2ubuntu0.1"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"Maven","package":"org.bouncycastle:bcprov-jdk15","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.51"}]}]},{"source":"ghsa","ecosystem":"Maven","package":"org.bouncycastle:bcprov-jdk14","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.51"}]}]},{"source":"ghsa","ecosystem":"Maven","package":"org.bouncycastle:bcprov-jdk15on","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.51"}]}]},{"source":"osv","ecosystem":"Debian:12","package":"bouncycastle","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.51-1"}]}]},{"source":"osv","ecosystem":"Debian:13","package":"bouncycastle","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.51-1"}]}]},{"source":"osv","ecosystem":"Debian:14","package":"bouncycastle","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.51-1"}]}]},{"source":"osv","ecosystem":"Debian:6.0","package":"bouncycastle","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.44+dfsg-2+deb6u1"}]}],"versions":["1.44+dfsg-2"]},{"source":"osv","ecosystem":"Debian:7","package":"bouncycastle","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.44+dfsg-3.1+deb7u1"}]}],"versions":["1.44+dfsg-3.1"]},{"source":"osv","ecosystem":"Debian:8","package":"bouncycastle","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.49+dfsg-3+deb8u1"}]}],"versions":["1.49+dfsg-3"]},{"source":"osv","ecosystem":"Maven","package":"org.bouncycastle:bcprov-jdk15","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.51"}]}],"versions":["1.32","1.38","1.40","1.43","1.44","1.45","1.46"]},{"source":"osv","ecosystem":"Maven","package":"org.bouncycastle:bcprov-jdk14","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.51"}]}],"versions":["1.38","1.43","1.44","1.45","1.46","1.47","1.48","1.49","1.50"]},{"source":"osv","ecosystem":"Maven","package":"org.bouncycastle:bcprov-jdk15on","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.51"}]}],"versions":["1.46","1.47","1.48","1.49","1.50"]},{"source":"osv","ecosystem":"Mageia:5","package":"bouncycastle","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.50-3.1.mga5"}]}]},{"source":"osv","ecosystem":"Ubuntu:14.04:LTS","package":"bouncycastle","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.49+dfsg-2ubuntu0.1"}]}],"versions":["1.48+dfsg-2","1.49+dfsg-2"]},{"source":"osv","ecosystem":"Ubuntu:14.04:LTS","package":"bouncycastle","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.49+dfsg-2ubuntu0.1"}]}],"versions":["1.48+dfsg-2","1.49+dfsg-2"],"bundled":9},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"bouncycastle","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.54-1.2"}]}],"bundled":2}],"products":[{"vendor":"bouncycastle","product":"bouncy_castle_crypto_package"},{"vendor":"opensuse","product":"leap"},{"vendor":"opensuse","product":"opensuse"},{"vendor":"oracle","product":"application_testing_suite"},{"vendor":"oracle","product":"enterprise_manager_ops_center"},{"vendor":"oracle","product":"peoplesoft_enterprise_peopletools"},{"vendor":"oracle","product":"virtual_desktop_infrastructure"}],"references":[{"url":"http://rhn.redhat.com/errata/RHSA-2016-2035.html","tags":["vendor-advisory","x_refsource_REDHAT","x_transferred","advisory","web"]},{"url":"http://www.oracle.com/technetwork/security-advisory/cpujul2018-4258247.html","tags":["x_refsource_CONFIRM","x_transferred","advisory","web"]},{"url":"http://www.oracle.com/technetwork/security-advisory/cpujan2018-3236628.html","tags":["x_refsource_CONFIRM","x_transferred","advisory","web"]},{"url":"https://www.oracle.com/technetwork/security-advisory/cpujan2019-5072801.html","tags":["x_refsource_CONFIRM","x_transferred","advisory","web"]},{"url":"http://www.securityfocus.com/bid/79091","tags":["vdb-entry","x_refsource_BID","x_transferred","web"]},{"url":"http://lists.opensuse.org/opensuse-security-announce/2015-11/msg00012.html","tags":["vendor-advisory","x_refsource_SUSE","x_transferred","Third Party Advisory","advisory","web"]},{"url":"http://lists.fedoraproject.org/pipermail/package-announce/2016-January/174915.html","tags":["vendor-advisory","x_refsource_FEDORA","x_transferred","web"]},{"url":"http://www.oracle.com/technetwork/security-advisory/cpuoct2016-2881722.html","tags":["x_refsource_CONFIRM","x_transferred","Third Party Advisory","advisory","web"]},{"url":"http://rhn.redhat.com/errata/RHSA-2016-2036.html","tags":["vendor-advisory","x_refsource_REDHAT","x_transferred","advisory","web"]},{"url":"http://www.oracle.com/technetwork/security-advisory/cpuoct2017-3236626.html","tags":["x_refsource_CONFIRM","x_transferred","advisory","web"]},{"url":"https://usn.ubuntu.com/3727-1/","tags":["vendor-advisory","x_refsource_UBUNTU","x_transferred","web"]},{"url":"http://www.openwall.com/lists/oss-security/2015/10/22/9","tags":["mailing-list","x_refsource_MLIST","x_transferred","Third Party Advisory","VDB Entry","advisory","web"]},{"url":"http://www.oracle.com/technetwork/security-advisory/cpuapr2018-3678067.html","tags":["x_refsource_CONFIRM","x_transferred","advisory","web"]},{"url":"http://www.securitytracker.com/id/1037036","tags":["vdb-entry","x_refsource_SECTRACK","x_transferred","web"]},{"url":"http://www.openwall.com/lists/oss-security/2015/10/22/7","tags":["mailing-list","x_refsource_MLIST","x_transferred","Third Party Advisory","VDB Entry","advisory","web"]},{"url":"http://www.debian.org/security/2015/dsa-3417","tags":["vendor-advisory","x_refsource_DEBIAN","x_transferred","advisory","web"]},{"url":"http://www.oracle.com/technetwork/security-advisory/cpujul2017-3236622.html","tags":["x_refsource_CONFIRM","x_transferred","advisory","web"]},{"url":"http://web-in-security.blogspot.ca/2015/09/practical-invalid-curve-attacks.html","tags":["x_refsource_MISC","x_transferred","Technical Description","article","web"]},{"url":"http://www.securitytracker.com/id/1037046","tags":["vdb-entry","x_refsource_SECTRACK","x_transferred","web"]},{"url":"http://www.securitytracker.com/id/1037053","tags":["vdb-entry","x_refsource_SECTRACK","x_transferred","web"]},{"url":"https://www.oracle.com/security-alerts/cpuapr2020.html","tags":["x_refsource_MISC","x_transferred","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2015-7940","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-4mv7-cq75-3qjm","tags":["advisory"]},{"url":"https://usn.ubuntu.com/3727-1","tags":["web"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2015-7940","tags":["advisory"]},{"url":"https://advisories.mageia.org/MGASA-2015-0487.html","tags":["advisory"]},{"url":"https://bugs.mageia.org/show_bug.cgi?id=16996","tags":["report"]},{"url":"http://lists.opensuse.org/opensuse-updates/2015-11/msg00036.html","tags":["web"]},{"url":"https://ubuntu.com/security/CVE-2015-7940","tags":["report"]},{"url":"https://web-in-security.blogspot.ca/2015/09/practical-invalid-curve-attacks.html","tags":["report"]},{"url":"https://ubuntu.com/security/notices/USN-3727-1","tags":["advisory"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2015-7940","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2015-6644","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2016-1000338","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2016-1000339","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2016-1000341","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2016-1000342","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2016-1000343","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2016-1000345","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2016-1000346","tags":["report"]},{"url":"","tags":["advisory"]},{"url":"https://www.suse.com/security/cve/CVE-2015-7575","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2015-7940","tags":["web"]}],"sources":{"cve":[{"id":"CVE-2015-7940","description":"The Bouncy Castle Java library before 1.51 does not validate a point is withing the elliptic curve, which makes it easier for remote attackers to obtain private keys via a series of crafted elliptic curve Diffie Hellman (ECDH) key exchanges, aka an \"invalid curve attack.\"","status":"published","published":"2015-11-09T16:00:00Z","modified":"2024-08-06T08:06:30.85Z","updated_at":"2026-11-02T14:35:44.744952Z"}],"euvd":[{"id":"EUVD-2018-0502","description":"The Bouncy Castle Java library before 1.51 does not validate a point is withing the elliptic curve, which makes it easier for remote attackers to obtain private keys via a series of crafted elliptic curve Diffie Hellman (ECDH) key exchanges, aka an \"invalid curve attack.\"","status":"published","published":"2015-11-09T16:00:00Z","modified":"2024-08-06T08:06:30Z","updated_at":"2026-11-03T02:21:50.339607Z"}],"ghsa":[{"id":"GHSA-4mv7-cq75-3qjm","title":"Moderate severity vulnerability that affects org.bouncycastle:bcprov-jdk14 and org.bouncycastle:bcprov-jdk15","description":"The Bouncy Castle Java library before 1.51 does not validate a point is withing the elliptic curve, which makes it easier for remote attackers to obtain private keys via a series of crafted elliptic curve Diffie Hellman (ECDH) key exchanges, aka an \"invalid curve attack.\"","status":"published","published":"2018-10-17T16:27:50Z","modified":"2025-09-12T19:30:14Z","cwes":["CWE-200"],"updated_at":"2026-11-02T14:38:57.074217Z"}],"nvd":[{"id":"CVE-2015-7940","description":"The Bouncy Castle Java library before 1.51 does not validate a point is withing the elliptic curve, which makes it easier for remote attackers to obtain private keys via a series of crafted elliptic curve Diffie Hellman (ECDH) key exchanges, aka an \"invalid curve attack.\"","status":"published","published":"2015-11-09T16:59:09.277Z","modified":"2026-06-17T00:33:25.317Z","cvss":[{"version":"2.0","score":5,"vector":"AV:N/AC:L/Au:N/C:P/I:N/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-200","CWE-310"],"updated_at":"2026-11-02T14:03:12.30866Z"}],"osv":[{"id":"CVE-2015-7940","description":"The Bouncy Castle Java library before 1.51 does not validate a point is withing the elliptic curve, which makes it easier for remote attackers to obtain private keys via a series of crafted elliptic curve Diffie Hellman (ECDH) key exchanges, aka an \"invalid curve attack.\"","status":"published","published":"2015-11-09T16:59:09Z","modified":"2026-04-16T06:18:58.292005033Z","updated_at":"2026-11-02T15:44:01.068991Z"},{"id":"DEBIAN-CVE-2015-7940","description":"The Bouncy Castle Java library before 1.51 does not validate a point is withing the elliptic curve, which makes it easier for remote attackers to obtain private keys via a series of crafted elliptic curve Diffie Hellman (ECDH) key exchanges, aka an \"invalid curve attack.\"","status":"published","published":"2015-11-09T16:59:09.277Z","modified":"2026-09-09T06:47:20.020750946Z","updated_at":"2026-11-02T15:45:27.04239Z"},{"id":"DLA-361-1","title":"bouncycastle - security update","status":"published","published":"2015-12-08T00:00:00Z","modified":"2026-03-09T01:21:00.944672Z","updated_at":"2026-11-02T15:46:11.734021Z"},{"id":"DSA-3417-1","title":"bouncycastle - security update","status":"published","published":"2015-12-14T00:00:00Z","modified":"2026-03-09T01:23:29.833267Z","updated_at":"2026-11-02T15:46:16.199525Z"},{"id":"GHSA-4mv7-cq75-3qjm","title":"Moderate severity vulnerability that affects org.bouncycastle:bcprov-jdk14 and org.bouncycastle:bcprov-jdk15","description":"The Bouncy Castle Java library before 1.51 does not validate a point is withing the elliptic curve, which makes it easier for remote attackers to obtain private keys via a series of crafted elliptic curve Diffie Hellman (ECDH) key exchanges, aka an \"invalid curve attack.\"","status":"published","published":"2018-10-17T16:27:50Z","modified":"2025-09-12T20:11:53.388848Z","cwes":["CWE-200"],"updated_at":"2026-11-02T15:46:37.148947Z"},{"id":"MGASA-2015-0487","title":"Updated bouncycastle packages fix security vulnerability","description":"The Bouncy Castle Java library before 1.51 does not validate a point is withing\nthe elliptic curve, which makes it easier for remote attackers to obtain\nprivate keys via a series of crafted elliptic curve Diffie Hellman (ECDH) key\nexchanges, aka an \"invalid curve attack\" (CVE-2015-7940).\n","status":"published","published":"2015-12-28T19:23:26Z","modified":"2026-04-16T06:25:36.117482013Z","updated_at":"2026-11-02T15:49:39.792687Z"},{"id":"openSUSE-SU-2024:10486-1","title":"bouncycastle-1.54-1.2 on GA media","description":"These are all security issues fixed in the bouncycastle-1.54-1.2 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2024-06-15T00:00:00Z","modified":"2026-02-04T03:47:40.421932Z","updated_at":"2026-11-02T16:58:34.487567Z"},{"id":"UBUNTU-CVE-2015-7940","description":"The Bouncy Castle Java library before 1.51 does not validate a point is withing the elliptic curve, which makes it easier for remote attackers to obtain private keys via a series of crafted elliptic curve Diffie Hellman (ECDH) key exchanges, aka an \"invalid curve attack.\"","status":"published","published":"2015-11-09T00:00:00Z","modified":"2026-02-04T03:21:19.573033Z","updated_at":"2026-11-02T15:54:10.737723Z"},{"id":"USN-3727-1","title":"bouncycastle vulnerabilities","description":"It was discovered that Bouncy Castle incorrectly handled certain crypto\nalgorithms. A remote attacker could possibly use these issues to obtain\nsensitive information, including private keys.\n","status":"published","published":"2018-08-01T14:56:58Z","modified":"2026-04-27T15:33:02.823094133Z","updated_at":"2026-11-02T16:58:13.496563Z"}]}}
