/

CVE-2026-105223

Severity:

HIGH RISK

(7.4)

Improper Certificate Validation (CWE-295) in Kube Client

CVE-2026-105223

Deferred

Vulnerability type

Category:

Improper Certificate Validation

CWE:

CWE-295

Impact:

Credential Theft and Man-in-the-Middle Attack

Severity:

HIGH RISK

(7.4)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

A certificate validation flaw in maclof kubernetes-client can disable TLS server certificate verification when kubeconfig data lacks certificate-authority-data. An on-path attacker may impersonate the Kubernetes API server, capture authentication credentials, or alter REST and WebSocket traffic.

A certificate validation flaw in maclof kubernetes-client can disable TLS server certificate verification when kubeconfig data lacks certificate-authority-data. An on-path attacker may impersonate the Kubernetes API server, capture authentication credentials, or alter REST and WebSocket traffic.

Affected context

The issue occurs in deployments using affected kubernetes-client releases where kubeconfig files are processed through parseKubeconfig() or parseKubeconfigFile(). Risk is higher when a kubeconfig omits certificate-authority-data and the client relies on the resulting TLS configuration without independently confirming that certificate verification remains enabled.

The issue occurs in deployments using affected kubernetes-client releases where kubeconfig files are processed through parseKubeconfig() or parseKubeconfigFile(). Risk is higher when a kubeconfig omits certificate-authority-data and the client relies on the resulting TLS configuration without independently confirming that certificate verification remains enabled.

Exploit preconditions

  • Attack surface: TLS connections from the Kubernetes client to the API server
  • Required access: Network positioning that permits interception or redirection of client traffic
  • Trigger point: Parsing and applying a kubeconfig that lacks certificate-authority-data
  • Why exploitation is possible: The client can proceed without validating the API server certificate and may not correctly honor the kubeconfig's insecure-skip-tls-verify setting
  • Attack surface: TLS connections from the Kubernetes client to the API server
  • Required access: Network positioning that permits interception or redirection of client traffic
  • Trigger point: Parsing and applying a kubeconfig that lacks certificate-authority-data
  • Why exploitation is possible: The client can proceed without validating the API server certificate and may not correctly honor the kubeconfig's insecure-skip-tls-verify setting

Why this happens

The underlying bug is improper certificate validation, mapped to CWE-295. Kubeconfig parsing establishes TLS behavior based on the presence or absence of certificate authority data, but the implementation can treat missing trust material as a reason to disable verification rather than as an invalid or incomplete security configuration. This creates a trust-boundary failure in which an untrusted endpoint may be accepted as the Kubernetes API server.

The underlying bug is improper certificate validation, mapped to CWE-295. Kubeconfig parsing establishes TLS behavior based on the presence or absence of certificate authority data, but the implementation can treat missing trust material as a reason to disable verification rather than as an invalid or incomplete security configuration. This creates a trust-boundary failure in which an untrusted endpoint may be accepted as the Kubernetes API server.

Potential impact

  • An on-path attacker may impersonate the Kubernetes API server
  • Bearer tokens or Basic authentication credentials could be captured
  • REST API requests may be modified in transit
  • WebSocket traffic could be intercepted or tampered with
  • Kubernetes resources or cluster operations could be affected through stolen credentials
  • An on-path attacker may impersonate the Kubernetes API server
  • Bearer tokens or Basic authentication credentials could be captured
  • REST API requests may be modified in transit
  • WebSocket traffic could be intercepted or tampered with
  • Kubernetes resources or cluster operations could be affected through stolen credentials

General mitigation guidance

Mitigation generally focuses on ensuring that TLS certificate verification is enabled by default and cannot be silently disabled because trust configuration is incomplete.

Common defensive patterns include:

  • Rejecting kubeconfig files that lack an explicitly defined and trusted certificate authority when verification is required
  • Applying strict, consistent handling of insecure-skip-tls-verify rather than inferring security behavior from missing fields
  • Using managed trust stores or pinned, validated certificate authorities
  • Protecting kubeconfig files and credentials from unauthorized modification or disclosure
  • Limiting the privileges and scope of Kubernetes credentials used by clients
  • Monitoring network paths and enforcing secure transport policies between clients and API servers

Mitigation generally focuses on ensuring that TLS certificate verification is enabled by default and cannot be silently disabled because trust configuration is incomplete.

Common defensive patterns include:

  • Rejecting kubeconfig files that lack an explicitly defined and trusted certificate authority when verification is required
  • Applying strict, consistent handling of insecure-skip-tls-verify rather than inferring security behavior from missing fields
  • Using managed trust stores or pinned, validated certificate authorities
  • Protecting kubeconfig files and credentials from unauthorized modification or disclosure
  • Limiting the privileges and scope of Kubernetes credentials used by clients
  • Monitoring network paths and enforcing secure transport policies between clients and API servers

How teams detect issues like this

Organizations can look for:

  • Static analysis rules covering TLS clients that disable verification when CA material is absent
  • Code review signals such as permissive defaults, conditional omission of certificate verification, or ignored security-related configuration fields
  • Tests that exercise kubeconfigs with missing, malformed, and conflicting TLS settings
  • Policy checks requiring explicit certificate verification for Kubernetes API connections
  • Network monitoring for unexpected API-server certificates, endpoints, or downgraded trust behavior

Automated security review tools may help identify insecure TLS configuration and inconsistent kubeconfig parsing.

Organizations can look for:

  • Static analysis rules covering TLS clients that disable verification when CA material is absent
  • Code review signals such as permissive defaults, conditional omission of certificate verification, or ignored security-related configuration fields
  • Tests that exercise kubeconfigs with missing, malformed, and conflicting TLS settings
  • Policy checks requiring explicit certificate verification for Kubernetes API connections
  • Network monitoring for unexpected API-server certificates, endpoints, or downgraded trust behavior

Automated security review tools may help identify insecure TLS configuration and inconsistent kubeconfig parsing.

Sources

SourceLink
github.comgithub.com/maclof/kubernetes-client
github.comgithub.com/maclof/kubernetes-client/blob/0.31.0/src/Client.php#L309-L312
github.comgithub.com/maclof/kubernetes-client/commit/924c0b935fa538ed6b4b0948127609e99d0e6f34
github.comgithub.com/maclof/kubernetes-client/issues/135
github.comgithub.com/maclof/kubernetes-client/releases/tag/0.32.0
vulncheck.comvulncheck.com/advisories/maclof-kubernetes-client-0.17.0-before-0.32.0-disabled-tls-certificate-verification

Frequently asked

questions

It generally requires an on-path position or another way to redirect or intercept the client's connection to the Kubernetes API server. It is not typically exploitable solely by sending an unauthenticated request to the client.

The attacker needs network visibility or control sufficient to present an impostor API endpoint and influence the traffic path. The attacker does not necessarily need access to the kubeconfig file itself.

Ensure that certificate verification remains enabled by default, require explicit trusted CA configuration where appropriate, and reject ambiguous or incomplete TLS settings instead of silently accepting them.

Test all combinations of TLS configuration fields, enforce secure transport policies, protect Kubernetes credentials, and use least-privilege identities so intercepted credentials have limited reach.

It generally requires an on-path position or another way to redirect or intercept the client's connection to the Kubernetes API server. It is not typically exploitable solely by sending an unauthenticated request to the client.

The attacker needs network visibility or control sufficient to present an impostor API endpoint and influence the traffic path. The attacker does not necessarily need access to the kubeconfig file itself.

Ensure that certificate verification remains enabled by default, require explicit trusted CA configuration where appropriate, and reject ambiguous or incomplete TLS settings instead of silently accepting them.

Test all combinations of TLS configuration fields, enforce secure transport policies, protect Kubernetes credentials, and use least-privilege identities so intercepted credentials have limited reach.

Find out what's already
exploitable in your codebase.