CVE-2020-7043
FortiClient VPN vulnerability analysis and mitigation

Overview

An issue was discovered in openfortivpn 1.11.0 when used with OpenSSL before 1.0.2. The vulnerability (CVE-2020-7043) involves improper certificate validation in tunnel.c where hostname comparisons fail to consider null ('\0') characters, making it possible for attackers to perform person-in-the-middle attacks using specially crafted certificates (e.g., good.example.com\x00evil.example.com) (GitHub Security Lab).

Technical details

The vulnerability stems from the use of strncasecmp function for certificate hostname validation, which incorrectly handles null bytes in the certificate's CommonName field. When openfortivpn is compiled against an OpenSSL library that doesn't provide the X509_check_host function (OpenSSL < 1.0.2), the client improperly verifies the server's certificate hostname. The vulnerability allows an attacker to create a certificate with a CommonName containing a null byte to bypass hostname verification (GitHub Security Lab).

Impact

This vulnerability enables attackers who can obtain valid certificates from a Certificate Authority with specially crafted CommonNames to perform person-in-the-middle attacks against VPN clients. This could potentially lead to the interception of network traffic between the client and the VPN server (GitHub Security Lab).

Mitigation and workarounds

The vulnerability was fixed in openfortivpn version 1.12.0. The fix involves replacing the vulnerable hostname validation code with a secure implementation from iSECPartners, which properly handles null bytes in certificate fields. Users should upgrade to version 1.12.0 or later to protect against this vulnerability (GitHub Commit).

Community reactions

Multiple Linux distributions responded to the vulnerability by releasing security updates, including Fedora 30, 31, and 32, which packaged and distributed the fixed version 1.12.0 to their users (Fedora Update).

Additional resources


SourceThis report was generated using AI

Related FortiClient VPN vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2020-7043CRITICAL9.1
  • FortiClient VPNFortiClient VPN
  • openfortivpn
NoYesFeb 27, 2020
CVE-2024-3661HIGH7.6
  • RustRust
  • n2n
NoYesMay 06, 2024
CVE-2020-7042MEDIUM5.3
  • FortiClient VPNFortiClient VPN
  • cpe:2.3:a:openssl:openssl
NoYesFeb 27, 2020
CVE-2020-7041MEDIUM5.3
  • FortiClient VPNFortiClient VPN
  • openfortivpn
NoYesFeb 27, 2020

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management