CVE-2015-7940
Moderate severity vulnerability that affects org.bouncycastle:bcprov-jdk14 and org.bouncycastle:bcprov-jdk15
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."
Exploit likelihood
What each source reports
NVD Score used
5.0
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."
- Record
CVE-2015-7940- CVSS 2.0
- 5.0 Medium
AV:N/AC:L/Au:N/C:P/I:N/A:N - Weakness
- CWE-200, CWE-310
- Updated
- 2026-11-02
CVE List No score
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."
- Record
CVE-2015-7940- Updated
- 2026-11-02
EUVDEUVD-2018-0502 No score
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."
- Record
EUVD-2018-0502- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-4mv7-cq75-3qjm No score
Moderate severity vulnerability that affects org.bouncycastle:bcprov-jdk14 and org.bouncycastle:bcprov-jdk15
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."
- Record
GHSA-4mv7-cq75-3qjm- Weakness
- CWE-200
- Updated
- 2026-11-02
OSV No score
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."
- Record
CVE-2015-7940- Updated
- 2026-11-02
OSVDEBIAN-CVE-2015-7940 No score
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."
- Record
DEBIAN-CVE-2015-7940- Updated
- 2026-11-02
Show 5 moreShow less
OSVGHSA-4mv7-cq75-3qjm No score
Moderate severity vulnerability that affects org.bouncycastle:bcprov-jdk14 and org.bouncycastle:bcprov-jdk15
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."
- Record
GHSA-4mv7-cq75-3qjm- Weakness
- CWE-200
- Updated
- 2026-11-02
OSVMGASA-2015-0487 No score
Updated bouncycastle packages fix security vulnerability
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" (CVE-2015-7940).
- Record
MGASA-2015-0487- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:10486-1 No score
bouncycastle-1.54-1.2 on GA media
These are all security issues fixed in the bouncycastle-1.54-1.2 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:10486-1- Updated
- 2026-11-02
OSVUBUNTU-CVE-2015-7940 No score
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."
- Record
UBUNTU-CVE-2015-7940- Updated
- 2026-11-02
OSVUSN-3727-1 No score
bouncycastle vulnerabilities
It was discovered that Bouncy Castle incorrectly handled certain crypto algorithms. A remote attacker could possibly use these issues to obtain sensitive information, including private keys.
- Record
USN-3727-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
org.bouncycastle:bcprov-jdk15Maven |
before 1.51 | 1.51 |
org.bouncycastle:bcprov-jdk14Maven |
before 1.51 | 1.51 |
org.bouncycastle:bcprov-jdk15onMaven |
before 1.51 | 1.51 |
bouncycastleDebian:12 |
before 1.51-1 | 1.51-1 |
bouncycastleDebian:13 |
before 1.51-1 | 1.51-1 |
bouncycastleDebian:14 |
before 1.51-1 | 1.51-1 |
bouncycastleDebian:6.0 |
before 1.44+dfsg-2+deb6u1, plus listed versions 1.44+dfsg-2 |
1.44+dfsg-2+deb6u1 |
bouncycastleDebian:7 |
before 1.44+dfsg-3.1+deb7u1, plus listed versions 1.44+dfsg-3.1 |
1.44+dfsg-3.1+deb7u1 |
bouncycastleDebian:8 |
before 1.49+dfsg-3+deb8u1, plus listed versions 1.49+dfsg-3 |
1.49+dfsg-3+deb8u1 |
org.bouncycastle:bcprov-jdk15Maven |
before 1.51, plus listed versions 1.321.381.401.431.441.451.46 |
1.51 |
Show 6 moreShow less
| Package | Affected | Fixed |
|---|---|---|
org.bouncycastle:bcprov-jdk14Maven |
before 1.51, plus listed versions 1.381.431.441.451.46 Show 4 moreShow less1.471.481.491.50 |
1.51 |
org.bouncycastle:bcprov-jdk15onMaven |
before 1.51, plus listed versions 1.461.471.481.491.50 |
1.51 |
bouncycastleMageia:5 |
before 1.50-3.1.mga5 | 1.50-3.1.mga5 |
bouncycastleUbuntu:14.04:LTS |
before 1.49+dfsg-2ubuntu0.1, plus listed versions 1.48+dfsg-21.49+dfsg-2 |
1.49+dfsg-2ubuntu0.1 |
bouncycastleUbuntu:14.04:LTS From an advisory covering 9 CVEs |
before 1.49+dfsg-2ubuntu0.1, plus listed versions 1.48+dfsg-21.49+dfsg-2 |
1.49+dfsg-2ubuntu0.1 |
bouncycastleopenSUSE:Tumbleweed From an advisory covering 2 CVEs |
before 1.54-1.2 | 1.54-1.2 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2015-7940 is a medium vulnerability (CVSS 5.0) in Bouncycastle Bouncy Castle Crypto Package, published November 9, 2015. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 4.69%, the 91st percentile. Fixed in org.bouncycastle:bcprov-jdk15 1.51.
References
rhn.redhat.com/errata/RHSA-2016-2035.html
oracle.com/technetwork/security-advisory/cpujul2018-4258247.html
oracle.com/technetwork/security-advisory/cpujan2018-3236628.html
oracle.com/technetwork/security-advisory/cpujan2019-5072801.html
securityfocus.com/bid/79091
lists.opensuse.org/opensuse-security-announce/2015-11/msg00012.html
Show 34 moreShow less
lists.fedoraproject.org/pipermail/package-announce/2016-January/174915.html
oracle.com/technetwork/security-advisory/cpuoct2016-2881722.html
rhn.redhat.com/errata/RHSA-2016-2036.html
oracle.com/technetwork/security-advisory/cpuoct2017-3236626.html
usn.ubuntu.com/3727-1
openwall.com/lists/oss-security/2015/10/22/9
oracle.com/technetwork/security-advisory/cpuapr2018-3678067.html
securitytracker.com/id/1037036
openwall.com/lists/oss-security/2015/10/22/7
debian.org/security/2015/dsa-3417
oracle.com/technetwork/security-advisory/cpujul2017-3236622.html
web-in-security.blogspot.ca/2015/09/practical-invalid-curve-attacks.html
securitytracker.com/id/1037046
securitytracker.com/id/1037053
oracle.com/security-alerts/cpuapr2020.html
nvd.nist.gov/vuln/detail/CVE-2015-7940
github.com/advisories/GHSA-4mv7-cq75-3qjm
security-tracker.debian.org/tracker/CVE-2015-7940
advisories.mageia.org/MGASA-2015-0487.html
bugs.mageia.org/show_bug.cgi?id=16996
lists.opensuse.org/opensuse-updates/2015-11/msg00036.html
ubuntu.com/security/CVE-2015-7940
ubuntu.com/security/notices/USN-3727-1
cve.org/CVERecord?id=CVE-2015-7940
ubuntu.com/security/CVE-2015-6644
ubuntu.com/security/CVE-2016-1000338
ubuntu.com/security/CVE-2016-1000339
ubuntu.com/security/CVE-2016-1000341
ubuntu.com/security/CVE-2016-1000342
ubuntu.com/security/CVE-2016-1000343
ubuntu.com/security/CVE-2016-1000345
ubuntu.com/security/CVE-2016-1000346
suse.com/security/cve/CVE-2015-7575
suse.com/security/cve/CVE-2015-7940