CVE Vulnerabilities

CVE-2024-34447

Improper Validation of Certificate with Host Mismatch

Published: May 03, 2024 | Modified: Apr 15, 2026
CVSS 3.x
N/A
Source:
NVD
CVSS 2.x
RedHat/V2
RedHat/V3
5.3 MODERATE
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Ubuntu
MEDIUM
root.io logo minimus.io logo echo.ai logo

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.

Weakness

The product communicates with a host that provides a certificate, but the product does not properly ensure that the certificate is actually associated with that host.

Affected Software

NameVendorStart VersionEnd Version
Red Hat AMQ Broker 7RedHatorg.bouncycastle:bcprov-jdk18on*
Red Hat build of Apache Camel 4.4.1 for Spring Boot 3.2RedHat*
Red Hat build of Quarkus 3.8.5.redhatRedHatorg.bouncycastle/bcprov-jdk18on:1.78.1.redhat-00002*
BouncycastleUbuntuesm-apps/focal*
BouncycastleUbuntuesm-apps/jammy*
BouncycastleUbuntuesm-apps/noble*
BouncycastleUbuntufocal*
BouncycastleUbuntujammy*
BouncycastleUbuntumantic*
BouncycastleUbuntunoble*
BouncycastleUbuntuoracular*
BouncycastleUbuntuplucky*
BouncycastleUbuntuupstream*

Extended Description

Even if a certificate is well-formed, signed, and follows the chain of trust, it may simply be a valid certificate for a different site than the site that the product is interacting with. In order to ensure data integrity, the certificate must be valid, and it must pertain to the site that is being accessed. Even if the product attempts to check the hostname, it is still possible to incorrectly check the hostname. For example, attackers could create a certificate with a name that begins with a trusted name followed by a NUL byte, which could cause some string-based comparisons to only examine the portion that contains the trusted name.

Potential Mitigations

References