CVE-2024-34447
Bouncy Castle Java Cryptography API vulnerable to DNS poisoning
An issue was discovered in the Bouncy Castle Crypto Package For Java before BC TLS Java 1.0.19 (ships with BC Java 1.78, BC Java (LTS) 2.73.6) and before BC FIPS TLS Java 1.0.19. When endpoint identification is enabled in the BCJSSE and an SSL socket is created without an explicit hostname (as happens with HttpsURLConnection), hostname verification could be performed against a DNS-resolved IP address in some situations, opening up a possibility of DNS poisoning.
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
- None
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
7.5
An issue was discovered in the Bouncy Castle Crypto Package For Java before BC TLS Java 1.0.19 (ships with BC Java 1.78, BC Java (LTS) 2.73.6) and before BC FIPS TLS Java 1.0.19. When endpoint identification is enabled in the BCJSSE and an SSL socket is created without an explicit hostname (as happens with HttpsURLConnection), hostname verification could be performed against a DNS-resolved IP address in some situations, opening up a possibility of DNS poisoning.
- Record
CVE-2024-34447- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-297
- Updated
- 2026-11-02
EUVDEUVD-2024-1414
7.5
An issue was discovered in the Bouncy Castle Crypto Package For Java before BC TLS Java 1.0.19 (ships with BC Java 1.78, BC Java (LTS) 2.73.6) and before BC FIPS TLS Java 1.0.19. When endpoint identification is enabled in the BCJSSE and an SSL socket is created without an explicit hostname (as happens with HttpsURLConnection), hostname verification could be performed against a DNS-resolved IP address in some situations, opening up a possibility of DNS poisoning.
- Record
EUVD-2024-1414- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-4h8f-2wvx-gg5w
5.9
Bouncy Castle Java Cryptography API vulnerable to DNS poisoning
An issue was discovered in the Bouncy Castle Crypto Package For Java before BC TLS Java 1.0.19 (ships with BC Java 1.78, BC Java (LTS) 2.73.6) and before BC FIPS TLS Java 1.0.19. When endpoint identification is enabled in the BCJSSE and an SSL socket is created without an explicit hostname (as happens with HttpsURLConnection), hostname verification could be performed against a DNS-resolved IP address in some situations, opening up a possibility of DNS poisoning.
- Record
GHSA-4h8f-2wvx-gg5w- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N - Weakness
- CWE-297
- Updated
- 2026-11-02
NVD
7.5
An issue was discovered in the Bouncy Castle Crypto Package For Java before BC TLS Java 1.0.19 (ships with BC Java 1.78, BC Java (LTS) 2.73.6) and before BC FIPS TLS Java 1.0.19. When endpoint identification is enabled in the BCJSSE and an SSL socket is created without an explicit hostname (as happens with HttpsURLConnection), hostname verification could be performed against a DNS-resolved IP address in some situations, opening up a possibility of DNS poisoning.
- Record
CVE-2024-34447- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-297
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2024-34447
7.5
An issue was discovered in the Bouncy Castle Crypto Package For Java before BC TLS Java 1.0.19 (ships with BC Java 1.78, BC Java (LTS) 2.73.6) and before BC FIPS TLS Java 1.0.19. When endpoint identification is enabled in the BCJSSE and an SSL socket is created without an explicit hostname (as happens with HttpsURLConnection), hostname verification could be performed against a DNS-resolved IP address in some situations, opening up a possibility of DNS poisoning.
- Record
DEBIAN-CVE-2024-34447- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
OSVGHSA-4h8f-2wvx-gg5w
5.9
Bouncy Castle Java Cryptography API vulnerable to DNS poisoning
An issue was discovered in the Bouncy Castle Crypto Package For Java before BC TLS Java 1.0.19 (ships with BC Java 1.78, BC Java (LTS) 2.73.6) and before BC FIPS TLS Java 1.0.19. When endpoint identification is enabled in the BCJSSE and an SSL socket is created without an explicit hostname (as happens with HttpsURLConnection), hostname verification could be performed against a DNS-resolved IP address in some situations, opening up a possibility of DNS poisoning.
- Record
GHSA-4h8f-2wvx-gg5w- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N - Weakness
- CWE-297
- Updated
- 2026-11-02
Show 7 moreShow less
OSVROOT-APP-MAVEN-CVE-2024-34447
5.9
CVE-2024-34447 in org.bouncycastle:bcprov-jdk18on - Patched by Root
Root has patched CVE-2024-34447 in the org.bouncycastle:bcprov-jdk18on package for Root:Maven. Multiple fixed versions available.
- Record
ROOT-APP-MAVEN-CVE-2024-34447- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
OSVUBUNTU-CVE-2024-34447
7.5
An issue was discovered in the Bouncy Castle Crypto Package For Java before BC TLS Java 1.0.19 (ships with BC Java 1.78, BC Java (LTS) 2.73.6) and before BC FIPS TLS Java 1.0.19. When endpoint identification is enabled in the BCJSSE and an SSL socket is created without an explicit hostname (as happens with HttpsURLConnection), hostname verification could be performed against a DNS-resolved IP address in some situations, opening up a possibility of DNS poisoning.
- Record
UBUNTU-CVE-2024-34447- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
OSVCLSA-2026-1769818135 No score
TuxCare security update for org.bouncycastle (5 CVEs)
TuxCare rebuilt 4 org.bouncycastle packages to address 5 CVEs. Fixed in 1.76-tuxcare.1.
- Record
CLSA-2026-1769818135- Updated
- 2026-11-02
OSVCLSA-2026-1781571259 No score
TuxCare security update for org.bouncycastle (3 CVEs)
TuxCare rebuilt 4 org.bouncycastle packages to address 3 CVEs. Fixed in 1.64-tuxcare.5.
- Record
CLSA-2026-1781571259- Updated
- 2026-11-02
OSVCLSA-2026-1791306023 No score
TuxCare security update for org.bouncycastle (7 CVEs)
TuxCare rebuilt 11 org.bouncycastle packages to address 7 CVEs. Fixed in 1.77-tuxcare.3.
- Record
CLSA-2026-1791306023- Updated
- 2026-11-02
OSVCLSA-2026-1792696243 No score
TuxCare security update for org.bouncycastle (9 CVEs)
TuxCare rebuilt 21 org.bouncycastle packages to address 9 CVEs. Fixed in 1.75-tuxcare.1.
- Record
CLSA-2026-1792696243- Updated
- 2026-11-02
OSV No score
An issue was discovered in the Bouncy Castle Crypto Package For Java before BC TLS Java 1.0.19 (ships with BC Java 1.78, BC Java (LTS) 2.73.6) and before BC FIPS TLS Java 1.0.19. When endpoint identification is enabled in the BCJSSE and an SSL socket is created without an explicit hostname (as happens with HttpsURLConnection), hostname verification could be performed against a DNS-resolved IP address in some situations, opening up a possibility of DNS poisoning.
- Record
CVE-2024-34447- Updated
- 2026-11-02
Affected packages
| Package | Affected | Fixed |
|---|---|---|
org.bouncycastle:bcprov-jdk18onMaven |
1.61 up to 1.78 | 1.78 |
org.bouncycastle:bcprov-jdk15to18Maven |
1.61 up to 1.78 | 1.78 |
org.bouncycastle:bcprov-jdk14Maven |
1.61 up to 1.78 | 1.78 |
org.bouncycastle:bcprov-jdk12Maven |
1.61 up to 1.78 | 1.78 |
org.bouncycastle:bctls-fipsMaven |
before 1.0.19 | 1.0.19 |
org.bouncycastle:bcprov-lts8onMaven |
before 2.73.6 | 2.73.6 |
org.bouncycastle:bcprov-jdk15onMaven |
1.61 up to 1.78 | 1.78 |
org.bouncycastle:bcprov-jdk15to18TuxCare:Maven From an advisory covering 5 CVEs |
1.76 up to 1.76-tuxcare.1 | 1.76-tuxcare.1 |
org.bouncycastle:bcprov-jdk18onTuxCare:Maven From an advisory covering 5 CVEs |
1.76 up to 1.76-tuxcare.1 | 1.76-tuxcare.1 |
org.bouncycastle:bctls-jdk15to18TuxCare:Maven From an advisory covering 5 CVEs |
1.76 up to 1.76-tuxcare.1 | 1.76-tuxcare.1 |
Show 51 moreShow less
| Package | Affected | Fixed |
|---|---|---|
org.bouncycastle:bctls-jdk18onTuxCare:Maven From an advisory covering 5 CVEs |
1.76 up to 1.76-tuxcare.1 | 1.76-tuxcare.1 |
org.bouncycastle:bcprov-ext-jdk15onTuxCare:Maven From an advisory covering 3 CVEs |
1.64 up to 1.64-tuxcare.5, plus listed versions 1.64-tuxcare.11.64-tuxcare.21.64-tuxcare.31.64-tuxcare.4 |
1.64-tuxcare.5 |
org.bouncycastle:bcprov-jdk14TuxCare:Maven From an advisory covering 3 CVEs |
1.64 up to 1.64-tuxcare.5, plus listed versions 1.64-tuxcare.11.64-tuxcare.21.64-tuxcare.31.64-tuxcare.4 |
1.64-tuxcare.5 |
org.bouncycastle:bcprov-jdk15onTuxCare:Maven From an advisory covering 3 CVEs |
1.64 up to 1.64-tuxcare.5, plus listed versions 1.64-tuxcare.11.64-tuxcare.21.64-tuxcare.31.64-tuxcare.4 |
1.64-tuxcare.5 |
org.bouncycastle:bctls-jdk14TuxCare:Maven From an advisory covering 3 CVEs |
1.64 up to 1.64-tuxcare.5, plus listed versions 1.64-tuxcare.11.64-tuxcare.21.64-tuxcare.31.64-tuxcare.4 |
1.64-tuxcare.5 |
org.bouncycastle:bcpkix-debug-jdk15to18TuxCare:Maven From an advisory covering 7 CVEs |
1.77 up to 1.77-tuxcare.3, plus listed versions 1.77-tuxcare.11.77-tuxcare.2 |
1.77-tuxcare.3 |
org.bouncycastle:bcpkix-debug-jdk18onTuxCare:Maven From an advisory covering 7 CVEs |
1.77 up to 1.77-tuxcare.3, plus listed versions 1.77-tuxcare.11.77-tuxcare.2 |
1.77-tuxcare.3 |
org.bouncycastle:bcpkix-jdk14TuxCare:Maven From an advisory covering 7 CVEs |
1.77 up to 1.77-tuxcare.3, plus listed versions 1.77-tuxcare.11.77-tuxcare.2 |
1.77-tuxcare.3 |
org.bouncycastle:bcpkix-jdk15to18TuxCare:Maven From an advisory covering 7 CVEs |
1.77 up to 1.77-tuxcare.3, plus listed versions 1.77-tuxcare.11.77-tuxcare.2 |
1.77-tuxcare.3 |
org.bouncycastle:bcpkix-jdk18onTuxCare:Maven From an advisory covering 7 CVEs |
1.77 up to 1.77-tuxcare.3, plus listed versions 1.77-tuxcare.11.77-tuxcare.2 |
1.77-tuxcare.3 |
org.bouncycastle:bcprov-jdk14TuxCare:Maven From an advisory covering 7 CVEs |
1.77 up to 1.77-tuxcare.3, plus listed versions 1.77-tuxcare.11.77-tuxcare.2 |
1.77-tuxcare.3 |
org.bouncycastle:bcprov-jdk15to18TuxCare:Maven From an advisory covering 7 CVEs |
1.77 up to 1.77-tuxcare.3, plus listed versions 1.77-tuxcare.11.77-tuxcare.2 |
1.77-tuxcare.3 |
org.bouncycastle:bcprov-jdk18onTuxCare:Maven From an advisory covering 7 CVEs |
1.77 up to 1.77-tuxcare.3, plus listed versions 1.77-tuxcare.11.77-tuxcare.2 |
1.77-tuxcare.3 |
org.bouncycastle:bctls-jdk14TuxCare:Maven From an advisory covering 7 CVEs |
1.77 up to 1.77-tuxcare.3, plus listed versions 1.77-tuxcare.11.77-tuxcare.2 |
1.77-tuxcare.3 |
org.bouncycastle:bctls-jdk15to18TuxCare:Maven From an advisory covering 7 CVEs |
1.77 up to 1.77-tuxcare.3, plus listed versions 1.77-tuxcare.11.77-tuxcare.2 |
1.77-tuxcare.3 |
org.bouncycastle:bctls-jdk18onTuxCare:Maven From an advisory covering 7 CVEs |
1.77 up to 1.77-tuxcare.3, plus listed versions 1.77-tuxcare.11.77-tuxcare.2 |
1.77-tuxcare.3 |
org.bouncycastle:bcpg-jdk14TuxCare:Maven From an advisory covering 9 CVEs |
1.75 up to 1.75-tuxcare.1 | 1.75-tuxcare.1 |
org.bouncycastle:bcpg-jdk15to18TuxCare:Maven From an advisory covering 9 CVEs |
1.75 up to 1.75-tuxcare.1 | 1.75-tuxcare.1 |
org.bouncycastle:bcpg-jdk18onTuxCare:Maven From an advisory covering 9 CVEs |
1.75 up to 1.75-tuxcare.1 | 1.75-tuxcare.1 |
org.bouncycastle:bcpkix-debug-jdk15to18TuxCare:Maven From an advisory covering 9 CVEs |
1.75 up to 1.75-tuxcare.1 | 1.75-tuxcare.1 |
org.bouncycastle:bcpkix-debug-jdk18onTuxCare:Maven From an advisory covering 9 CVEs |
1.75 up to 1.75-tuxcare.1 | 1.75-tuxcare.1 |
org.bouncycastle:bcpkix-jdk14TuxCare:Maven From an advisory covering 9 CVEs |
1.75 up to 1.75-tuxcare.1 | 1.75-tuxcare.1 |
org.bouncycastle:bcpkix-jdk15to18TuxCare:Maven From an advisory covering 9 CVEs |
1.75 up to 1.75-tuxcare.1 | 1.75-tuxcare.1 |
org.bouncycastle:bcpkix-jdk18onTuxCare:Maven From an advisory covering 9 CVEs |
1.75 up to 1.75-tuxcare.1 | 1.75-tuxcare.1 |
org.bouncycastle:bcprov-debug-jdk15to18TuxCare:Maven From an advisory covering 9 CVEs |
1.75 up to 1.75-tuxcare.1 | 1.75-tuxcare.1 |
org.bouncycastle:bcprov-debug-jdk18onTuxCare:Maven From an advisory covering 9 CVEs |
1.75 up to 1.75-tuxcare.1 | 1.75-tuxcare.1 |
org.bouncycastle:bcprov-ext-debug-jdk15to18TuxCare:Maven From an advisory covering 9 CVEs |
1.75 up to 1.75-tuxcare.1 | 1.75-tuxcare.1 |
org.bouncycastle:bcprov-ext-debug-jdk18onTuxCare:Maven From an advisory covering 9 CVEs |
1.75 up to 1.75-tuxcare.1 | 1.75-tuxcare.1 |
org.bouncycastle:bcprov-ext-jdk14TuxCare:Maven From an advisory covering 9 CVEs |
1.75 up to 1.75-tuxcare.1 | 1.75-tuxcare.1 |
org.bouncycastle:bcprov-ext-jdk15to18TuxCare:Maven From an advisory covering 9 CVEs |
1.75 up to 1.75-tuxcare.1 | 1.75-tuxcare.1 |
org.bouncycastle:bcprov-ext-jdk18onTuxCare:Maven From an advisory covering 9 CVEs |
1.75 up to 1.75-tuxcare.1 | 1.75-tuxcare.1 |
org.bouncycastle:bcprov-jdk14TuxCare:Maven From an advisory covering 9 CVEs |
1.75 up to 1.75-tuxcare.1 | 1.75-tuxcare.1 |
org.bouncycastle:bcprov-jdk15to18TuxCare:Maven From an advisory covering 9 CVEs |
1.75 up to 1.75-tuxcare.1 | 1.75-tuxcare.1 |
org.bouncycastle:bcprov-jdk18onTuxCare:Maven From an advisory covering 9 CVEs |
1.75 up to 1.75-tuxcare.1 | 1.75-tuxcare.1 |
org.bouncycastle:bctls-jdk14TuxCare:Maven From an advisory covering 9 CVEs |
1.75 up to 1.75-tuxcare.1 | 1.75-tuxcare.1 |
org.bouncycastle:bctls-jdk15to18TuxCare:Maven From an advisory covering 9 CVEs |
1.75 up to 1.75-tuxcare.1 | 1.75-tuxcare.1 |
org.bouncycastle:bctls-jdk18onTuxCare:Maven From an advisory covering 9 CVEs |
1.75 up to 1.75-tuxcare.1 | 1.75-tuxcare.1 |
bouncycastleDebian:12 |
All versions, plus listed versions 1.72-21.77-11.80-11.80-21.80-31.86-11.86.2-1 |
None known |
bouncycastleDebian:13 |
before 1.80-1 | 1.80-1 |
bouncycastleDebian:14 |
before 1.80-1 | 1.80-1 |
org.bouncycastle:bcprov-jdk18onMaven |
1.61 up to 1.78, plus listed versions 1.711.71.11.721.731.741.751.761.77 |
1.78 |
org.bouncycastle:bcprov-jdk15to18Maven |
1.61 up to 1.78, plus listed versions 1.631.641.651.661.67 Show 10 moreShow less1.681.691.701.711.721.731.741.751.761.77 |
1.78 |
org.bouncycastle:bcprov-jdk14Maven |
1.61 up to 1.78, plus listed versions 1.621.631.641.651.67 Show 10 moreShow less1.681.691.701.711.721.731.741.751.761.77 |
1.78 |
org.bouncycastle:bctls-fipsMaven |
before 1.0.19, plus listed versions 1.0.01.0.11.0.101.0.10.11.0.10.2 Show 24 moreShow less1.0.10.31.0.111.0.11.11.0.11.21.0.11.31.0.11.41.0.121.0.12.11.0.12.21.0.12.31.0.131.0.141.0.14.11.0.161.0.171.0.181.0.21.0.31.0.41.0.51.0.61.0.71.0.81.0.9 |
1.0.19 |
org.bouncycastle:bcprov-lts8onMaven |
before 2.73.6, plus listed versions 2.73.02.73.12.73.22.73.32.73.42.73.5 |
2.73.6 |
org.bouncycastle:bcprov-jdk15onMaven |
1.61 up to 1.78, plus listed versions 1.621.631.641.651.65.01 Show 5 moreShow less1.661.671.681.691.70 |
1.78 |
org.bouncycastle:bcprov-jdk18onRoot:Maven |
before 1.77-aikido.6 | 1.77-aikido.61.77-aikido.51.75-aikido.41.78-aikido.31.78-aikido.2 |
io.root.org.bouncycastle:bcprov-jdk18onRoot:Maven |
before 1.77-root.io.6 | 1.77-root.io.61.77-root.io.51.75-root.io.41.78-root.io.31.78-root.io.2 |
bouncycastleUbuntu:Pro:20.04:LTS |
before 1.61-1ubuntu0.1~esm1, plus listed versions 1.61-1 |
1.61-1ubuntu0.1~esm1 |
bouncycastleUbuntu:Pro:22.04:LTS |
before 1.68-5ubuntu0.1~esm1, plus listed versions 1.68-21.68-41.68-5 |
1.68-5ubuntu0.1~esm1 |
bouncycastleUbuntu:Pro:24.04:LTS |
before 1.77-1ubuntu0.1~esm1, plus listed versions 1.72-21.77-1 |
1.77-1ubuntu0.1~esm1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2024-34447 is a high vulnerability (CVSS 7.5) in org.bouncycastle:bcprov-jdk18on, published May 3, 2024. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.77%, the 56th percentile. Fixed in org.bouncycastle:bcprov-jdk18on 1.78.