CWEweakness

CWE-295 Improper Certificate Validation

Official page ↗
Abstraction
Base
Structure
Simple
Status
Draft
Languages
Go, Not Language-Specific
CWE version
5.0

Description

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

Common consequences

• Integrity, Authentication: Bypass Protection Mechanism, Gain Privileges or Assume Identity — When a certificate is invalid or malicious, it might allow an attacker to spoof a trusted entity by interfering in the communication path between the host and client. The product might connect to a malicious host while believing it is a trusted host, or the product might be deceived into accepting spoofed data that appears to originate from a trusted host.

Potential mitigations

• [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.

Detection methods

• Automated Static Analysis - Binary or Bytecode: According to SOAR [REF-1479], the following detection techniques may be useful: Cost effective for partial coverage: • Bytecode Weakness Analysis - including disassembler + source code weakness analysis • Binary Weakness Analysis - including disassembler + source code weakness analysis • Manual Static Analysis - Binary or Bytecode: According to SOAR [REF-1479], the following detection techniques may be useful: Cost effective for partial coverage: • Binary / Bytecode disassembler - then use manual analysis for vulnerabilities & anomalies • Dynamic Analysis with Automated Results Interpretation: According to SOAR [REF-1479], the following detection techniques may be useful: Cost effective for partial coverage: • Web Application Scanner • Dynamic Analysis with Manual Results Interpretation: According to SOAR [REF-1479], the following detection techniques may be useful: Highly cost effective: • Man-in-the-middle attack tool • Manual Static Analysis - Source Code: According to SOAR [REF-1479], the following detection techniques may be useful: Highly cost effective: • Focused Manual Spotcheck - Focused manual analysis of source • Manual Source Code Review (not inspections) • Automated Static Analysis - Source Code: According to SOAR [REF-1479], the following detection techniques may be useful: Cost effective for partial coverage: • Source code Weakness Analyzer • Context-configured Source Code Weakness Analyzer • Architecture or Design Review: According to SOAR [REF-1479], the following detection techniques may be useful: Highly cost effective: • Inspection (IEEE 1028 standard) (can apply to requirements, design, source code, etc.)

Observed examples

• CVE-2019-12496: A Go framework for robotics, drones, and IoT devices skips verification of root CA certificates by default. • CVE-2014-1266: Chain: incorrect "goto" in Apple SSL product bypasses certificate validation, allowing Adversary-in-the-Middle (AITM) attack (Apple "goto fail" bug). CWE-705 (Incorrect Control Flow Scoping) -> CWE-561 (Dead Code) -> CWE-295 (Improper Certificate Validation) -> CWE-393 (Return of Wrong Status Code) -> CWE-300 (Channel Accessible by Non-Endpoint). The code's whitespace indentation did not reflect the actual control flow (CWE-1114) and did not explicitly delimit the block (CWE-483), which could have made it more difficult for human code auditors to detect the vulnerability. • CVE-2021-22909: Chain: router's firmware update procedure uses curl with "-k" (insecure) option that disables certificate validation (CWE-295), allowing adversary-in-the-middle (AITM) compromise with a malicious firmware image (CWE-494). • CVE-2008-4989: Verification function trusts certificate chains in which the last certificate is self-signed. • CVE-2012-5821: Chain: Web browser uses a TLS-related function incorrectly, preventing it from verifying that a server's certificate is signed by a trusted certification authority (CA). • CVE-2009-3046: Web browser does not check if any intermediate certificates are revoked. • CVE-2011-0199: Operating system does not check Certificate Revocation List (CRL) in some cases, allowing spoofing using a revoked certificate. • CVE-2012-5810: Mobile banking application does not verify hostname, leading to financial loss. • CVE-2012-3446: Cloud-support library written in Python uses incorrect regular expression when matching hostname. • CVE-2009-2408: Web browser does not correctly handle '\0' character (NUL) in Common Name, allowing spoofing of https sites. • CVE-2012-2993: Smartphone device does not verify hostname, allowing spoofing of mail services. • CVE-2012-5822: Application uses third-party library that does not validate hostname. • CVE-2012-5819: Cloud storage management application does not validate hostname. • CVE-2012-5817: Java library uses JSSE SSLSocket and SSLEngine classes, which do not verify the hostname. • CVE-2010-1378: Chain: incorrect calculation (CWE-682) allows attackers to bypass certificate checks (CWE-295) • CVE-2007-6746: library for SSL and TLS does not check the activation or expiration dates of CA certificates • CVE-2005-3170: LDAP client accepts certificates even if they are not from a trusted CA. • CVE-2009-0265: Chain: DNS server does not correctly check return value from the OpenSSL EVP_VerifyFinal function allows bypass of validation of the certificate chain. • CVE-2003-1229: Chain: product checks if client is trusted when it intended to check if the server is trusted, allowing validation of signed code. • CVE-2002-0862: Cryptographic API, as used in web browsers, mail clients, and other software, does not properly validate Basic Constraints. • CVE-2009-1358: Chain: OS package manager does not properly check the return value, allowing bypass using a revoked certificate.

Related

Attack pattern · CAPEC (2)

  • CAPEC-459 Creating a Rogue Certification Authority Certificate attack pattern
  • CAPEC-475 Signature Spoofing by Improper Validation attack pattern

Observed example · CVE (21)

  • CVE-2021-22909 A vulnerability found in EdgeMAX EdgeRouter V2.0.9 and earlier could allow a malicious actor to execute a man-in-the-middle (MitM) attack… vulnerability
  • CVE-2019-12496 An issue was discovered in Hybrid Group Gobot before 1.13.0. vulnerability
  • CVE-2014-1266 The SSLVerifySignedServerKeyExchange function in libsecurity_ssl/lib/sslKeyExchange.c in the Secure Transport feature in the Data Security… vulnerability
  • CVE-2007-6746 telepathy-idle before 0.1.15 does not verify (1) that the issuer is a trusted CA, (2) that the server hostname matches a domain name in the… vulnerability
  • CVE-2012-3446 Apache Libcloud before 0.11.1 uses an incorrect regular expression during verification of whether the server hostname matches a domain name… vulnerability
  • CVE-2012-5810 The Chase mobile banking application for Android does not verify that the server hostname matches a domain name in the subject's Common… vulnerability
  • CVE-2012-5817 Codehaus XFire 1.2.6 and earlier, as used in the Amazon EC2 API Tools Java library and other products, does not verify that the server… vulnerability
  • CVE-2012-5819 FilesAnywhere does not verify that the server hostname matches a domain name in the subject's Common Name (CN) or subjectAltName field of… vulnerability
  • CVE-2012-5821 Lynx does not verify that the server's certificate is signed by a trusted certification authority, which allows man-in-the-middle attackers… vulnerability
  • CVE-2012-5822 The contribution feature in Zamboni does not verify that the server hostname matches a domain name in the subject's Common Name (CN) or… vulnerability
  • CVE-2012-2993 Microsoft Windows Phone 7 does not verify the domain name in the subject's Common Name (CN) field of an X.509 certificate, which allows… vulnerability
  • CVE-2011-0199 The Certificate Trust Policy component in Apple Mac OS X before 10.6.8 does not perform CRL checking for Extended Validation (EV)… vulnerability
  • CVE-2010-1378 OpenSSL in Apple Mac OS X 10.6.x before 10.6.5 does not properly perform arithmetic, which allows remote attackers to bypass X.509… vulnerability
  • CVE-2009-3046 Opera before 10.00 does not check all intermediate X.509 certificates for revocation, which makes it easier for remote SSL servers to… vulnerability
  • CVE-2009-2408 Mozilla Network Security Services (NSS) before 3.12.3, Firefox before 3.0.13, Thunderbird before 2.0.0.23, and SeaMonkey before 1.1.18 do… vulnerability
  • CVE-2009-1358 apt-get in apt before 0.7.21 does not check for the correct error code from gpgv, which causes apt to treat a repository as valid even when… vulnerability
  • CVE-2009-0265 Internet Systems Consortium (ISC) BIND 9.6.0 and earlier does not properly check the return value from the OpenSSL EVP_VerifyFinal… vulnerability
  • CVE-2008-4989 The _gnutls_x509_verify_certificate function in lib/x509/verify.c in libgnutls in GnuTLS before 2.6.1 trusts certificate chains in which… vulnerability
  • CVE-2005-3170 The LDAP client on Microsoft Windows 2000 before Update Rollup 1 for SP4 accepts certificates using LDAP Secure Sockets Layer (LDAPS) even… vulnerability
  • CVE-2003-1229 X509TrustManager in (1) Java Secure Socket Extension (JSSE) in SDK and JRE 1.4.0 through 1.4.0_01, (2) JSSE before 1.0.3, (3) Java Plug-in… vulnerability
  • CVE-2002-0862 The (1) CertGetCertificateChain, (2) CertVerifyCertificateChainPolicy, and (3) WinVerifyTrust APIs within the CryptoAPI for Microsoft… vulnerability

Child of · CWE (1)

  • CWE-287 Improper Authentication weakness

Peer of · CWE (1)

  • CWE-322 Key Exchange without Entity Authentication weakness

Referenced by CAPEC · weakness (2)

  • CAPEC-459 Creating a Rogue Certification Authority Certificate attack pattern
  • CAPEC-475 Signature Spoofing by Improper Validation attack pattern

Referenced by CVE · weakness (1,705)

  • CVE-2026-105031 When using the OpenSSL TLS implementation, both the pn_ssl_domain_set_trusted_ca_db() & pn_tls_config_set_trusted_certs() APIs added to… vulnerability
  • CVE-2026-106036 Szafir accepts any client or server certificate without performing certificate and hostname validation, allowing HTTPS connections without… vulnerability
  • CVE-2026-117611 Improper certificate validation in Checkmk <2.5.0p18, <2.4.0p39, <2.3.0p52 and 2.2.0 (EOL): the Certificate Authority stores bundled with… vulnerability
  • CVE-2026-119118 Crawl4AI before 0.9.5 contains an improper certificate validation vulnerability that allows network attackers to intercept crawls because… vulnerability
  • CVE-2026-116641 The DB Tools rely on the TLS implementation in Golang’s standard library, which generally uses the system CA store. vulnerability
  • CVE-2026-118040 In Progress® Telerik® Document Processing Libraries prior to version 2026.3.1027, improper verification of cryptographic signatures and… vulnerability
  • CVE-2026-118682 KaringX ClashMi through 1.0.32.1801 disables TLS certificate validation by default in the HttpUtils helper, allowing attackers to intercept… vulnerability
  • CVE-2026-87880 Sensitive information disclosure due to missing SSL certificate verification affecting one component. vulnerability
  • CVE-2026-108326 Tanium addressed an improper certificate validation vulnerability in Stream Client Extension. vulnerability
  • CVE-2026-111459 An improper certificate validation vulnerability exists in Moxa Remote Connect Suite (MRC Client). vulnerability
  • CVE-2026-115216 In Eclipse ioFog Operator versions 3.8.0 before 3.9.2, TLS certificate verification is disabled when the operator contacts the Controller… vulnerability
  • CVE-2026-41022 Eaton easySoft improperly validates TLS certificates presented by easyE4 devices. vulnerability
  • CVE-2025-13833 A vulnerability exists in SecureConnector for Windows when the “Additional Appliance Connections” setting is enabled and the agent’s… vulnerability
  • CVE-2026-115693 Improper Certificate Validation vulnerability in hackney_ssl in benoitc hackney allows an on-path attacker to impersonate a server pinned… vulnerability
  • CVE-2026-115930 The MongoDB Shell (mongosh) relies on Node.js as a third-party runtime that carries its own TLS root certificate store. vulnerability
  • CVE-2026-115929 MongoDB Compass relies on Electron, a third-party runtime that carries its own TLS root certificate store. vulnerability
  • CVE-2026-115996 A vulnerability was detected in Unitree Robotics Unitree Go2 up to 1.1.13/1.1.14.1/1.1.15.1. vulnerability
  • CVE-2026-105483 A flaw in Node.js TLS hostname verification allows a certificate without a matching IP address SAN to authenticate a connection to an IPv4… vulnerability
  • CVE-2026-106069 A flaw in Node.js TLS hostname verification can cause a server certificate to be validated against a different IP address than the one the… vulnerability
  • CVE-2026-106072 A flaw in Node.js TLS hostname verification allows a certificate with only a DNS SAN to authenticate an IP endpoint when the client… vulnerability
  • CVE-2026-107685 Improper Certificate Validation vulnerability in the WebSocket streaming client in agentjido req_llm allows an on-path attacker to read and… vulnerability
  • CVE-2026-106017 Improper certificate validation in the OpenVPN 3 Core library version 3.4 through 3.11.7 allows attackers to circumvent extended key usage… vulnerability
  • CVE-2026-114220 NT OneAPP developed by NewType Infortech has an Improper Certificate Validation vulnerability. vulnerability
  • CVE-2026-114611 OCO-Server is a self-hosted endpoint management application for computer inventory, software deployment, and mobile device management. vulnerability
  • CVE-2026-114642 Traefik 2.11.0 before 2.11.58 and 3.0.0 before 3.7.14 stores its NTLM/Kerberos backend round tripper in a client-connection slot not keyed… vulnerability
  • CVE-2026-87944 Improper Certificate Validation vulnerability in Drupal SAML SSO - Service Provider allows Adversary in the Middle (AiTM). vulnerability
  • CVE-2026-96375 Improper Certificate Validation vulnerability in Drupal Cloud allows Adversary in the Middle (AiTM). vulnerability
  • CVE-2026-111814 Apache Traffic Server's default outbound session-sharing policy can reuse a pooled TLS session authenticated with one client certificate… vulnerability
  • CVE-2026-111815 Apache Traffic Server can resume a TLS session across SNI virtual hosts without re-verifying a client certificate required by the resumed… vulnerability
  • CVE-2026-114047 FreeRDP from 2.0.0 before 3.32.0 contains an improper certificate validation vulnerability in its proxy that accepts untrusted target TLS… vulnerability
Show all 1,705 ›

Referenced by CWE · child of (5)

  • CWE-296 Improper Following of a Certificate's Chain of Trust weakness
  • CWE-297 Improper Validation of Certificate with Host Mismatch weakness
  • CWE-298 Improper Validation of Certificate Expiration weakness
  • CWE-299 Improper Check for Certificate Revocation weakness
  • CWE-599 Missing Validation of OpenSSL Certificate weakness

Referenced by CWE · has member (2)

  • CWE-1200 Weaknesses in the 2019 CWE Top 25 Most Dangerous Software Errors view
  • CWE-1468 Weaknesses Addressed by the OWASP Golang Secure Coding Practices Guide view

Referenced by CWE · peer of (1)

  • CWE-322 Key Exchange without Entity Authentication weakness

Referenced by OWASP · mapped cwe (2)

  • A07:2025 Authentication Failures Top 10 2025
  • A07:2021 Identification and Authentication Failures Top 10 2021