CVE-2018-1000613
Deserialization of Untrusted Data in Bouncy castle
Legion of the Bouncy Castle Legion of the Bouncy Castle Java Cryptography APIs 1.58 up to but not including 1.60 contains a CWE-470: Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection') vulnerability in XMSS/XMSS^MT private key deserialization that can result in Deserializing an XMSS/XMSS^MT private key can result in the execution of unexpected code. This attack appear to be exploitable via A handcrafted private key can include references to unexpected classes which will be picked up from the class path for the executing application. This vulnerability appears to have been fixed in 1.60 and later.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
NVD Score used
9.8
Legion of the Bouncy Castle Legion of the Bouncy Castle Java Cryptography APIs 1.58 up to but not including 1.60 contains a CWE-470: Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection') vulnerability in XMSS/XMSS^MT private key deserialization that can result in Deserializing an XMSS/XMSS^MT private key can result in the execution of unexpected code. This attack appear to be exploitable via A handcrafted private key can include references to unexpected classes which will be picked up from the class path for the executing application. This vulnerability appears to have been fixed in 1.60 and later.
- Record
CVE-2018-1000613- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - CVSS 2.0
- 7.5 High
AV:N/AC:L/Au:N/C:P/I:P/A:P - Weakness
- CWE-470
- Updated
- 2026-11-02
CVE List No score
Legion of the Bouncy Castle Legion of the Bouncy Castle Java Cryptography APIs 1.58 up to but not including 1.60 contains a CWE-470: Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection') vulnerability in XMSS/XMSS^MT private key deserialization that can result in Deserializing an XMSS/XMSS^MT private key can result in the execution of unexpected code. This attack appear to be exploitable via A handcrafted private key can include references to unexpected classes which will be picked up from the class path for the executing application. This vulnerability appears to have been fixed in 1.60 and later.
- Record
CVE-2018-1000613- Updated
- 2026-11-02
EUVDEUVD-2018-0492 No score
Legion of the Bouncy Castle Legion of the Bouncy Castle Java Cryptography APIs 1.58 up to but not including 1.60 contains a CWE-470: Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection') vulnerability in XMSS/XMSS^MT private key deserialization that can result in Deserializing an XMSS/XMSS^MT private key can result in the execution of unexpected code. This attack appear to be exploitable via A handcrafted private key can include references to unexpected classes which will be picked up from the class path for the executing application. This vulnerability appears to have been fixed in 1.60 and later.
- Record
EUVD-2018-0492- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-4446-656p-f54g
9.8
Deserialization of Untrusted Data in Bouncy castle
Legion of the Bouncy Castle Java Cryptography APIs starting in version 1.57 and prior to version 1.60 contains a CWE-470: Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection') vulnerability in XMSS/XMSS^MT private key deserialization that can result in Deserializing an XMSS/XMSS^MT private key can result in the execution of unexpected code. This attack appear to be exploitable via A handcrafted private key can include references to unexpected classes which will be picked up from the class path for the executing application.
This vulnerability appears to have been fixed in 1.60 and later.
- Record
GHSA-4446-656p-f54g- CVSS 3.0
- 9.8 Critical
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-470, CWE-502
- Updated
- 2026-11-02
OSV
9.8
Legion of the Bouncy Castle Legion of the Bouncy Castle Java Cryptography APIs 1.58 up to but not including 1.60 contains a CWE-470: Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection') vulnerability in XMSS/XMSS^MT private key deserialization that can result in Deserializing an XMSS/XMSS^MT private key can result in the execution of unexpected code. This attack appear to be exploitable via A handcrafted private key can include references to unexpected classes which will be picked up from the class path for the executing application. This vulnerability appears to have been fixed in 1.60 and later.
- Record
CVE-2018-1000613- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVDEBIAN-CVE-2018-1000613
9.8
Legion of the Bouncy Castle Legion of the Bouncy Castle Java Cryptography APIs 1.58 up to but not including 1.60 contains a CWE-470: Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection') vulnerability in XMSS/XMSS^MT private key deserialization that can result in Deserializing an XMSS/XMSS^MT private key can result in the execution of unexpected code. This attack appear to be exploitable via A handcrafted private key can include references to unexpected classes which will be picked up from the class path for the executing application. This vulnerability appears to have been fixed in 1.60 and later.
- Record
DEBIAN-CVE-2018-1000613- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
Show 6 moreShow less
OSVGHSA-4446-656p-f54g
9.8
Deserialization of Untrusted Data in Bouncy castle
Legion of the Bouncy Castle Java Cryptography APIs starting in version 1.57 and prior to version 1.60 contains a CWE-470: Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection') vulnerability in XMSS/XMSS^MT private key deserialization that can result in Deserializing an XMSS/XMSS^MT private key can result in the execution of unexpected code. This attack appear to be exploitable via A handcrafted private key can include references to unexpected classes which will be picked up from the class path for the executing application.
This vulnerability appears to have been fixed in 1.60 and later.
- Record
GHSA-4446-656p-f54g- CVSS 3.0
- 9.8 Critical
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-470, CWE-502
- Updated
- 2026-11-02
OSVUBUNTU-CVE-2018-1000613
9.8
Legion of the Bouncy Castle Legion of the Bouncy Castle Java Cryptography APIs 1.58 up to but not including 1.60 contains a CWE-470: Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection') vulnerability in XMSS/XMSS^MT private key deserialization that can result in Deserializing an XMSS/XMSS^MT private key can result in the execution of unexpected code. This attack appear to be exploitable via A handcrafted private key can include references to unexpected classes which will be picked up from the class path for the executing application. This vulnerability appears to have been fixed in 1.60 and later.
- Record
UBUNTU-CVE-2018-1000613- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVMGASA-2018-0376 No score
Updated bouncycastle packages fix security vulnerabilities
Updated bouncycastle packages fix security vulnerabilities:
Ensure full validation of ASN.1 encoding of signature on verification. It was possible to inject extra elements in the sequence making up the signature and still have it validate, which in some cases may have allowed the introduction of 'invisible' data into a signed structure (CVE-2016-1000338).
Prevent AESEngine key information leak via lookup table accesses (CVE-2016-1000339).
Preventcarry propagation bugs in the implementation of squaring for several raw math classes (CVE-2016-1000340).
DSA signature generation was vulnerable to timing attack. Where timings can be closely observed for the generation of signatures may have allowed an attacker to gain information about the signature's k value and ultimately the private value as well (CVE-2016-1000341).
Ensure that ECDSA does fully validate ASN.1 encoding of signature on verification. It was possible to inject extra elements in the sequence making up the signature and still have it validate, which in some cases may have allowed the introduction of 'invisible' data into a signed structure (CVE-2016-1000342).
Prevent weak default settings for private DSA key pair generation (CVE-2016-1000343).
Removed DHIES from the provider to disable the unsafe usage of ECB mode (CVE-2016-1000344).
The DHIES/ECIES CBC mode was vulnerable to padding oracle attack. In an environment where timings can be easily observed, it was possible with enough observations to identify when the decryption is failing due to padding (CVE-2016-1000345).
The other party DH public key was not fully validated. This could have caused issues as invalid keys could be used to reveal details about the other party's private key where static Diffie-Hellman is in use (CVE-2016-1000346).
Remove ECIES from the provider to disable the unsafe usage of ECB mode (CVE-2016-1000352).
BouncyCastle, when configured to use the JCE (Java Cryptography Extension) for cryptographic functions, provided a weak Bleichenbacher oracle when any TLS cipher suite using RSA key exchange was negotiated. An attacker can recover the private key from a vulnerable application. This vulnerability is referred to as "ROBOT" (CVE-2017-13098).
It was discovered that the low-level interface to the RSA key pair generator of Bouncy Castle (a Java implementation of cryptographic algorithms) could perform less Miller-Rabin primality tests than expected (CVE-2018-1000180).
Fix use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection') (CVE-2018-1000613).
- Record
MGASA-2018-0376- Updated
- 2026-11-02
OSVopenSUSE-SU-2020:0607-1 No score
Security update for bouncycastle
This update for bouncycastle fixes the following issues:
Version update to 1.60:
-
CVE-2018-1000613: Use of Externally-ControlledInput to Select Classes or Code (boo#1100694)
-
Release notes: http://www.bouncycastle.org/releasenotes.html
Version update to 1.59:
- CVE-2017-13098: Fix against Bleichenbacher oracle when not using the lightweight APIs (boo#1072697).
- Release notes: http://www.bouncycastle.org/releasenotes.html
- Record
openSUSE-SU-2020:0607-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:10661-1 No score
bouncycastle-1.68-3.2 on GA media
These are all security issues fixed in the bouncycastle-1.68-3.2 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:10661-1- Updated
- 2026-11-02
OSVROOT-APP-MAVEN-CVE-2018-1000613 No score
CVE-2018-1000613 in org.bouncycastle:bcprov-jdk15on - Patched by Root
Root has patched CVE-2018-1000613 in the org.bouncycastle:bcprov-jdk15on package for Root:Maven. Multiple fixed versions available.
- Record
ROOT-APP-MAVEN-CVE-2018-1000613- Updated
- 2026-11-02
Affected products
- bouncycastle bc-java
- netapp oncommand workflow automation
- opensuse leap
- oracle api gateway
- oracle banking platform
- oracle business process management suite
- oracle business transaction management
- oracle communications application session controller
- oracle communications converged application server
- oracle communications convergence
- oracle communications diameter signaling router
- oracle communications webrtc session controller
Show 12 moreShow less
- oracle data integrator
- oracle enterprise manager base platform
- oracle enterprise manager for fusion middleware
- oracle enterprise repository
- oracle managed file transfer
- oracle peoplesoft enterprise peopletools
- oracle retail convenience and fuel pos software
- oracle retail xstore point of service
- oracle soa suite
- oracle utilities network management system
- oracle webcenter portal
- oracle weblogic server
Affected packages
| Package | Affected | Fixed |
|---|---|---|
org.bouncycastle:bcprov-jdk15onMaven |
1.57 up to 1.60 | 1.60 |
bouncycastleDebian:12 |
before 1.60-1 | 1.60-1 |
bouncycastleDebian:13 |
before 1.60-1 | 1.60-1 |
bouncycastleDebian:14 |
before 1.60-1 | 1.60-1 |
org.bouncycastle:bcprov-jdk15onMaven |
1.57 up to 1.60, plus listed versions 1.581.59 |
1.60 |
bouncycastleMageia:6 From an advisory covering 13 CVEs |
before 1.60-1.mga6 | 1.60-1.mga6 |
org.bouncycastle:bcprov-jdk15onRoot:Maven |
before 1.60-aikido.1 | 1.60-aikido.1 |
io.root.org.bouncycastle:bcprov-jdk15onRoot:Maven |
before 1.60-root.io.1 | 1.60-root.io.1 |
bouncycastleUbuntu:Pro:18.04:LTS |
All versions, plus listed versions 1.57-11.58-11.59-11.59-1ubuntu0.1~esm1 |
None known |
bouncycastleopenSUSE:Leap 15.1 From an advisory covering 2 CVEs |
before 1.60-lp151.3.3.1 | 1.60-lp151.3.3.1 |
bouncycastleopenSUSE:Tumbleweed From an advisory covering 16 CVEs |
before 1.68-3.2 | 1.68-3.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-2018-1000613 is a critical vulnerability (CVSS 9.8) in Bouncycastle Bc-java, published July 9, 2018. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 4.77%, the 91st percentile. Fixed in org.bouncycastle:bcprov-jdk15on 1.60.
References
lists.opensuse.org/opensuse-security-announce/2020-05/msg00011.html
oracle.com/security-alerts/cpuapr2020.html
oracle.com/technetwork/security-advisory/cpujan2019-5072801.html
oracle.com/technetwork/security-advisory/cpuapr2019-5072813.html
oracle.com/technetwork/security-advisory/cpujul2019-5072835.html
lists.apache.org/thread.html/rf1bbc0ea4a9f014cf94df9a12a6477d24a27f52741dbc87f2fd52ff2%40%3Cissues.geode.apache.org%3E
Show 37 moreShow less
oracle.com/security-alerts/cpuoct2020.html
security.netapp.com/advisory/ntap-20190204-0003
github.com/bcgit/bc-java/commit/4092ede58da51af9a21e4825fbad0d9a3ef5a223
github.com/bcgit/bc-java/commit/cd98322b171b15b3f88c5ec871175147893c31e6
oracle.com/security-alerts/cpuApr2021.html
nvd.nist.gov/vuln/detail/CVE-2018-1000613
github.com/advisories/GHSA-4446-656p-f54g
lists.apache.org/thread.html/rf1bbc0ea4a9f014cf94df9a12a6477d24a27f52741dbc87f2fd52ff2@%3Cissues.geode.apache.org%3E
github.com/bcgit/bc-java/commit/cc9f91c41be67e88fca4e38f4872418448950fd9
security-tracker.debian.org/tracker/CVE-2018-1000613
github.com/bcgit/bc-java
advisories.mageia.org/MGASA-2018-0376.html
bugs.mageia.org/show_bug.cgi?id=22197
debian.org/security/2018/dsa-4233
lists.opensuse.org/opensuse-updates/2018-06/msg00085.html
lists.opensuse.org/opensuse-updates/2018-07/msg00089.html
ubuntu.com/security/CVE-2018-1000613
cve.org/CVERecord?id=CVE-2018-1000613
lists.opensuse.org/archives/list/[email protected]/thread/SJ5CQDJZHIR5UUASDLGQDV3YILWDOSU3
bugzilla.suse.com/1072697
bugzilla.suse.com/1100694
suse.com/security/cve/CVE-2017-13098
suse.com/security/cve/CVE-2018-1000613
suse.com/security/cve/CVE-2016-1000338
suse.com/security/cve/CVE-2016-1000339
suse.com/security/cve/CVE-2016-1000340
suse.com/security/cve/CVE-2016-1000341
suse.com/security/cve/CVE-2016-1000342
suse.com/security/cve/CVE-2016-1000343
suse.com/security/cve/CVE-2016-1000344
suse.com/security/cve/CVE-2016-1000345
suse.com/security/cve/CVE-2016-1000346
suse.com/security/cve/CVE-2016-1000352
suse.com/security/cve/CVE-2018-1000180
suse.com/security/cve/CVE-2019-17359
suse.com/security/cve/CVE-2020-15522
suse.com/security/cve/CVE-2020-28052