Skip to content

GHSA-c597-f74m-jgc2 CVE-2020-1758

Improper Certificate Validation and Improper Validation of Certificate with Host Mismatch in Keycloak

Medium Maven
Severity
5.9 / 10
Medium · CVSS 3.1
Exploit chance (EPSS)
0.93%
Chance of exploitation in the next 30 days. Higher than 60.56% of scored vulnerabilities.
Known exploited
No
Not in CISA's catalog
Weakness
CWE-295 Improper Certificate Validation
CWE-297 Improper Validation of Certificate with Host Mismatch
Fix
10.0.0
Upgrade org.keycloak:keycloak-parent to this version or later

Description

A flaw was found in Keycloak in versions before 10.0.0, where it does not perform the TLS hostname verification while sending emails using the SMTP server. This flaw allows an attacker to perform a man-in-the-middle (MITM) attack.

Affected versions

Maven

PackageVulnerableFixed in
org.keycloak:keycloak-parent
< 10.0.0
10.0.0

How to fix

Move to the fixed version or later with your package manager, update the lockfile, and run your tests. If the package only arrives through another dependency, upgrade that dependency first. If none of its releases pulls a fixed version yet, force the version with your package manager's override.

org.keycloak:keycloak-parent Maven → 10.0.0

maven
<dependency><groupId>org.keycloak</groupId><artifactId>keycloak-parent</artifactId><version>10.0.0</version></dependency>
gradle
implementation("org.keycloak:keycloak-parent:10.0.0")

Severity breakdown

CVSS 3.1 5.9

CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N

Attack vector
Network
Attack complexity
High
Privileges required
None
User interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

Weakness

CWE-295: Improper Certificate Validation

The product does not validate, or incorrectly validates, a certificate.

How to prevent it
  • Architecture and Design, Implementation: Certificates should be carefully managed and checked to assure that data are encrypted with the intended owner's public key.
  • Implementation: If certificate pinning is being used, ensure that all relevant properties of the certificate are fully validated before the certificate is pinned, including the hostname.

CWE-297: Improper Validation of Certificate with Host Mismatch

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.

How to prevent it
  • Architecture and Design: Fully check the hostname of the certificate and provide the user with adequate information about the nature of the problem and how to proceed.
  • Implementation: If certificate pinning is being used, ensure that all relevant properties of the certificate are fully validated before the certificate is pinned, including the hostname.

References

Timeline

  1. Published
  2. Last updated by the source
  3. Latest EPSS score
AdvisorySeverityWhy it's related
GHSA-fwhw-chw4-gh37
Keycloak Server-Side Request Forgery (SSRF) vulnerability
Low Also affects org.keycloak:keycloak-parent
GHSA-gv94-wp4h-vv8p
Keycloak has Incorrect Behavior Order: Authorization Before Parsing and Canonicalization
Medium Also affects org.keycloak:keycloak-parent
GHSA-9hhc-pj4w-w5rv
Keycloak Cross-site Scripting on OpenID connect login service
Medium Also affects org.keycloak:keycloak-parent
GHSA-g8q8-fggx-9r3q
Keycloak vulnerable to path traversal via double URL encoding
Critical Also affects org.keycloak:keycloak-parent
GHSA-97g8-xfvw-q4hg
Keycloak vulnerable to session takeover with OIDC offline refreshtokens
Medium Also affects org.keycloak:keycloak-parent
GHSA-w9mf-83w3-fv49
Keycloak vulnerable to Stored Cross site Scripting (XSS) when loading default roles
Medium Also affects org.keycloak:keycloak-parent
GHSA-wf7g-7h6h-678v
Keycloak SAML javascript protocol mapper: Uploading of scripts through admin console
High Also affects org.keycloak:keycloak-parent
GHSA-xv7h-95r7-595j
Incorrect implementation of lockout feature in Keycloak
High Also affects org.keycloak:keycloak-parent
Is this in your code?

MergeHarbor checks every repository's dependencies against this database, ranks what matters by exploitability and reachability, routes it to the owning team and opens the fix pull request.

Check your repos with MergeHarbor