Cloudanix VulnDB

CVE-2024-45341

Medium · 6.1

CVSS

6.1

EPSS

0.5%

Published

Jan 28, 2025

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A flaw in how digital certificates are checked could allow an attacker to bypass security rules and impersonate trusted services within a private corporate network.

Chainable
Exploitation
Requires User Interaction
Attacker needs
User Interaction
Complexity
Moderate
Impact
Data Exposure
Component
Library
Class
Authentication Bypass
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

A flaw in the certificate validation logic allows a specially crafted X.509 certificate to bypass URI name constraints. If a certificate's Subject Alternative Name (SAN) contains a URI with an IPv6 address that includes a zone ID, the validation process may incorrectly accept the certificate, even if it violates the defined name constraint. This leads to a partial authentication bypass, as a malicious certificate can be mistaken for a legitimate one within a restricted namespace.

Why it matters to the business

This vulnerability can allow an attacker to impersonate trusted services or users within private enterprise networks that use Public Key Infrastructure (PKI) with URI name constraints for access control. This could lead to unauthorized access to sensitive internal applications and data, undermining network segmentation and trust boundaries. The impact is confined to organizations with private PKIs that utilize this specific, non-standard certificate feature.

How an attack unfolds

An attacker first identifies a target organization that relies on a private PKI and uses URI name constraints to secure internal services. The attacker then crafts a malicious X.509 certificate containing a URI with an IPv6 address and a zone ID (e.g., `https://[fe80::1%eth0]/resource`). After getting this certificate signed by a CA trusted within the target's environment, the attacker presents it to a vulnerable client or server. The flawed validation logic incorrectly accepts the certificate, bypassing the name constraint and granting the attacker the same level of access as the legitimate service they are impersonating.

How to fix it

Upgrade affected systems to a patched version that correctly validates certificate name constraints involving IPv6 addresses with zone IDs. For the specified Red Hat products, update to version `0:4.3.19-20211013.0.el7_9` or a later release. As a preventative measure, organizations should review their internal CA policies and consider disallowing the issuance of certificates that contain URIs with IPv6 zone IDs.

How to confirm the fix worked

To confirm remediation, verify that all affected components have been upgraded to the fixed versions or later. To test for the vulnerability in a safe environment, create a test certificate containing a URI with an IPv6 address and zone ID. Configure a service with a name constraint that should explicitly reject this certificate. If the connection attempt using the test certificate is correctly denied, the system is not vulnerable. If the connection is allowed, the system remains vulnerable.

Typical attack path

  1. The attacker identifies a target using a private PKI with URI name constraints for authentication.
  2. The attacker crafts a malicious certificate containing a URI with an IPv6 address and a zone ID in the Subject Alternative Name field.
  3. The attacker obtains a signature for this certificate from a Certificate Authority that is trusted by the target system.
  4. The attacker positions themselves to present the certificate, for example by setting up a malicious server or performing a Man-in-the-Middle attack.
  5. A user or automated system connects, and the vulnerable application attempts to validate the malicious certificate.
  6. The application's flawed validation logic incorrectly accepts the certificate, bypassing the URI name constraint.
  7. The attacker successfully impersonates a legitimate internal service and gains unauthorized access.

How to detect it

To detect potential exploitation, security teams should monitor certificate validation logs and network traffic for anomalies. Look for successful TLS handshakes involving certificates that contain a URI with an IPv6 address and a zone ID (e.g., `...%eth0`). If your organization maintains a Certificate Transparency log for your internal PKI, search it for issued certificates matching this pattern. Successful authentications from unexpected sources using certificates with these non-standard URIs should be investigated as potential indicators of compromise.

  • pcre:/subjectAlternativeName:URI:.*//\[[a-fA-F0-9:]+%[a-zA-Z0-9_.-]+\]/

What your security team should do

  • Immediately patch all vulnerable systems, prioritizing those that are part of a private PKI and use URI name constraints for access control.
  • Audit your internal Certificate Authority infrastructure to determine if URI name constraints are in use and if any certificates with IPv6 zone IDs have been issued.
  • Update certificate issuance policies to prohibit or flag certificates containing URIs with IPv6 zone IDs in the Subject Alternative Name field.

The record

A certificate with a URI which has a IPv6 address with a zone ID may incorrectly satisfy a URI name constraint that applies to the certificate chain. Certificates containing URIs are not permitted in the web PKI, so this only affects users of private PKIs which make use of URIs.

Affected packages

Ecosystem Package Introduced Fixed
Go stdlib 0 1.22.11
AlmaLinux:10 delve 0 1.24.1-1.el10_0
AlmaLinux:10 go-toolset 0 1.23.7-1.el10_0.alma.1
AlmaLinux:10 golang 0 1.23.7-1.el10_0.alma.1
AlmaLinux:10 golang-bin 0 1.23.7-1.el10_0.alma.1
AlmaLinux:10 golang-docs 0 1.23.7-1.el10_0.alma.1
AlmaLinux:10 golang-misc 0 1.23.7-1.el10_0.alma.1
AlmaLinux:10 golang-src 0 1.23.7-1.el10_0.alma.1
AlmaLinux:10 golang-tests 0 1.23.7-1.el10_0.alma.1
AlmaLinux:8 delve 0 1.24.1-1.module_el8.10.0+3977+66935a26
AlmaLinux:8 go-toolset 0 1.23.6-1.module_el8.10.0+3977+66935a26
AlmaLinux:8 golang 0 1.23.6-1.module_el8.10.0+3977+66935a26
AlmaLinux:8 golang-bin 0 1.23.6-1.module_el8.10.0+3977+66935a26
AlmaLinux:8 golang-docs 0 1.23.6-1.module_el8.10.0+3977+66935a26
AlmaLinux:8 golang-misc 0 1.23.6-1.module_el8.10.0+3977+66935a26
AlmaLinux:8 golang-src 0 1.23.6-1.module_el8.10.0+3977+66935a26
AlmaLinux:8 golang-tests 0 1.23.6-1.module_el8.10.0+3977+66935a26
Bitnami golang 0 1.22.11
Chainguard aactl 0 0.4.12-r22
Chainguard actions-runner-controller 0 0.10.1-r2
Chainguard actions-runner-controller-fips 0 0.10.1-r2
Chainguard age 0 1.2.1-r1
Chainguard age-fips 0 1.2.1-r1
Chainguard amazon-cloudwatch-agent-fips 0 1.300052.0-r0
Chainguard amazon-k8s-cni 0 1.19.2-r1
Chainguard amazon-k8s-cni-fips 0 1.19.2-r2
Chainguard amazon-k8s-cni-init-fips 0 1.19.2-r2
Chainguard amazon-k8s-cni-init-fips-compat 0 1.19.2-r2
Chainguard ansible-operator 0 1.37.1-r1
Chainguard apache-beam-java-11-sdk 0 2.62.0-r0
Chainguard apache-beam-java-17-sdk 0 2.62.0-r0
Chainguard apache-beam-java-21-sdk 0 2.62.0-r0
Chainguard apache-beam-java-sdk 0 2.62.0-r0
Chainguard apache-beam-python-3.11-sdk 0 2.62.0-r0
Chainguard argo-cd-fips-2.10 0 2.10.18-r5
Chainguard argo-cd-fips-2.10-compat 0 2.10.18-r5
Chainguard argo-cd-fips-2.10-repo-server 0 2.10.18-r5
Chainguard argo-cd-fips-2.11 0 2.11.13-r0
Chainguard argo-cd-fips-2.11-compat 0 2.11.13-r0
Chainguard argo-cd-fips-2.11-repo-server 0 2.11.13-r0
Chainguard argo-cd-fips-2.12 0 2.12.10-r0
Chainguard argo-cd-fips-2.12-compat 0 2.12.10-r0
Chainguard argo-cd-fips-2.12-repo-server 0 2.12.10-r0
Chainguard argo-cd-fips-2.13 0 2.13.4-r0
Chainguard argo-events 0 1.9.5-r1
Chainguard argo-events-fips 0 1.9.5-r1
Chainguard argo-rollouts 0 1.7.2-r4
Chainguard argo-workflow-cli 0 3.6.3-r1
Chainguard argo-workflow-controller 0 3.6.3-r1
Chainguard argo-workflow-controller-compat 0 3.6.3-r1
Chainguard argo-workflow-executor 0 3.6.3-r1
Chainguard argo-workflow-executor-compat 0 3.6.3-r1
Chainguard argo-workflows 0 3.6.3-r1
Chainguard argo-workflows-fips 0 3.6.2-r4
Chainguard argo-workflows-known-hosts 0 3.6.3-r1
Chainguard argo-workflows-ui 0 3.6.3-r1
Chainguard atlantis 0 0.32.0-r1
Chainguard atlantis-fips 0 0.32.0-r1
Chainguard authservice-fips 0 1.0.4-r0
Chainguard aws-application-networking-k8s 0 1.1.0-r2
Chainguard aws-ebs-csi-driver 0 1.52.1-r0
Chainguard aws-efs-csi-driver 0 2.1.4-r1
Chainguard aws-efs-csi-driver-fips 0 2.1.4-r1
Chainguard aws-flb-cloudwatch 0 1.9.4-r14
Chainguard aws-flb-cloudwatch-compat 0 1.9.4-r14
Chainguard aws-flb-cloudwatch-compat-fips 0 1.9.4-r7
Chainguard aws-flb-cloudwatch-fips 0 1.9.4-r7
Chainguard aws-flb-firehose 0 1.7.2-r14
Chainguard aws-flb-firehose-compat 0 1.7.2-r14
Chainguard aws-flb-firehose-compat-fips 0 1.7.2-r7
Chainguard aws-flb-firehose-fips 0 1.7.2-r7
Chainguard aws-flb-kinesis 0 1.10.2-r15
Chainguard aws-flb-kinesis-fips 0 1.10.2-r8
Chainguard aws-load-balancer-controller 0 2.11.0-r2
Chainguard aws-load-balancer-controller-fips 0 2.12.0-r1
Chainguard aws-network-policy-agent 0 1.1.6-r1
Chainguard aws-network-policy-agent-compat 0 1.1.6-r1
Chainguard aws-network-policy-agent-fips 0 1.1.6-r1
Chainguard aws-privateca-issuer 0 1.4.0-r3
Chainguard aws-privateca-issuer-compat-fips 0 1.4.0-r3
Chainguard aws-privateca-issuer-fips 0 1.4.0-r3
Chainguard aws-signer-notation-plugin 0 1.0.350-r1
Chainguard aws-signer-notation-plugin-fips 0 1.0.350-r1
Chainguard azure-aad-pod-identity-mic 0 1.8.17-r16
Chainguard azuredisk-csi-1.28 0 1.28.11-r6
Chainguard azuredisk-csi-1.29 0 1.29.12-r1
Chainguard azuredisk-csi-1.29-compat 0 1.29.12-r1
Chainguard azuredisk-csi-1.30 0 1.30.7-r1
Chainguard azuredisk-csi-1.31 0 1.31.2-r1
Chainguard azuredisk-csi-fips-1.28 0 1.28.11-r5
Chainguard azuredisk-csi-fips-1.29 0 1.29.12-r1
Chainguard azuredisk-csi-fips-1.30 0 1.30.7-r1
Chainguard azuredisk-csi-fips-1.31 0 1.31.2-r1
Chainguard bank-vaults 0 1.20.4-r23
Chainguard bank-vaults-fips 0 1.20.4-r19
Chainguard bank-vaults-template 0 1.20.4-r23
Chainguard bank-vaults-template-fips 0 1.20.4-r19
Chainguard bazelisk 0 1.25.0-r1
Chainguard bazelisk-default 0 1.25.0-r1
Chainguard beats-7 0 7.17.27-r1
Chainguard beats-8 0 8.17.1-r0
Chainguard beats-fips-7 0 7.17.27-r1
Chainguard beats-fips-8 0 8.17.1-r0
Chainguard bom 0 0.6.0-r15
Chainguard boring-registry 0 0.15.5-r1
Chainguard boring-registry-fips 0 0.15.5-r1
Chainguard buildkitd-fips 0 0.19.0-r0
Chainguard cadvisor 0 0.51.0-r3
Chainguard cadvisor-fips 0 0.50.0-r4
Chainguard calico-3.27 0 3.27.5-r5
Chainguard calico-3.28 0 3.28.2-r7
Chainguard calico-3.29 0 3.29.1-r4
Chainguard calico-apiserver-3.27 0 3.27.5-r5
Chainguard calico-apiserver-3.28 0 3.28.2-r7
Chainguard calico-apiserver-compat-3.27 0 3.27.5-r5
Chainguard calico-apiserver-compat-3.28 0 3.28.2-r7
Chainguard calico-apiserver-compat-fips-3.27 0 3.27.5-r5
Chainguard calico-apiserver-fips-3.27 0 3.27.5-r5
Chainguard calico-apiserver-fips-3.29 0 3.29.1-r5
Chainguard calico-app-policy-3.27 0 3.27.5-r5
Chainguard calico-app-policy-3.28 0 3.28.2-r7
Chainguard calico-app-policy-fips-3.27 0 3.27.5-r5
Chainguard calico-app-policy-fips-3.29 0 3.29.1-r5
Chainguard calico-cni-3.27 0 3.27.5-r5
Chainguard calico-cni-3.28 0 3.28.2-r7
Chainguard calico-cni-compat-3.27 0 3.27.5-r5
Chainguard calico-cni-compat-3.28 0 3.28.2-r7
Chainguard calico-cni-compat-fips-3.27 0 3.27.5-r5
Chainguard calico-cni-compat-fips-3.29 0 3.29.1-r5
Chainguard calico-cni-fips-3.27 0 3.27.5-r5
Chainguard calico-cni-fips-3.29 0 3.29.1-r5
Chainguard calico-felix-3.27 0 3.27.5-r5
Chainguard calico-felix-3.28 0 3.28.2-r7
Chainguard calico-felix-fips-3.27 0 3.27.5-r5
Chainguard calico-felix-fips-3.29 0 3.29.1-r5
Chainguard calico-fips-3.27 0 3.27.5-r5
Chainguard calico-fips-3.28 0 3.28.2-r5
Chainguard calico-fips-3.29 0 3.29.1-r5
Chainguard calico-key-cert-provisioner-3.28 0 3.28.2-r7
Chainguard calico-key-cert-provisioner-fips-3.29 0 3.29.1-r5
Chainguard calico-kube-controllers-3.27 0 3.27.5-r5
Chainguard calico-kube-controllers-3.28 0 3.28.2-r7
Chainguard calico-kube-controllers-fips-3.27 0 3.27.5-r5
Chainguard calico-kube-controllers-fips-3.29 0 3.29.1-r5
Chainguard calico-node-3.27 0 3.27.5-r5
Chainguard calico-node-3.28 0 3.28.2-r7
Chainguard calico-node-fips-3.27 0 3.27.5-r5
Chainguard calico-node-fips-3.29 0 3.29.1-r5
Chainguard calico-pod2daemon-3.27 0 3.27.5-r5
Chainguard calico-pod2daemon-3.28 0 3.28.2-r7
Chainguard calico-pod2daemon-fips-3.27 0 3.27.5-r5
Chainguard calico-pod2daemon-fips-3.29 0 3.29.1-r5
Chainguard calico-pod2daemon-flexvol-compat-3.27 0 3.27.5-r5
Chainguard calico-pod2daemon-flexvol-compat-3.28 0 3.28.2-r7
Chainguard calico-pod2daemon-flexvol-compat-fips-3.27 0 3.27.5-r5
Chainguard calico-typha-client-3.27 0 3.27.5-r5
Chainguard calico-typha-client-3.28 0 3.28.2-r7
Chainguard calico-typha-client-fips-3.27 0 3.27.5-r5
Chainguard calico-typha-client-fips-3.29 0 3.29.1-r5
Chainguard calico-typhad-3.27 0 3.27.5-r5
Chainguard calico-typhad-3.28 0 3.28.2-r7
Chainguard calico-typhad-fips-3.27 0 3.27.5-r5
Chainguard calico-typhad-fips-3.29 0 3.29.1-r5
Chainguard calicoctl-3.27 0 3.27.5-r5
Chainguard calicoctl-3.28 0 3.28.2-r7
Chainguard calicoctl-fips-3.27 0 3.27.5-r5
Chainguard calicoctl-fips-3.29 0 3.29.1-r5
Chainguard capslock 0 0.2.7-r1
Chainguard cass-operator 0 1.23.0-r2
Chainguard cass-operator-compat-fips 0 1.23.0-r2
Chainguard cass-operator-fips 0 1.23.0-r2
Chainguard cass-operator-fips-no-pvc-delete 0 1.23.0-r2
Chainguard cass-operator-fips-no-pvc-delete-compat 0 1.23.0-r2
Chainguard cert-manager-1.12 0 1.12.15-r1
Chainguard cert-manager-1.12-acmesolver 0 1.12.15-r1
Chainguard cert-manager-1.12-cainjector 0 1.12.15-r1
Chainguard cert-manager-1.12-controller 0 1.12.15-r1
Chainguard cert-manager-1.12-webhook 0 1.12.15-r1
Chainguard cert-manager-1.15 0 1.15.5-r1
Chainguard cert-manager-1.15-acmesolver 0 1.15.5-r1
Chainguard cert-manager-1.15-cainjector 0 1.15.5-r1
Chainguard cert-manager-1.15-controller 0 1.15.5-r1
Chainguard cert-manager-1.15-startupapicheck 0 1.15.5-r1
Chainguard cert-manager-1.15-webhook 0 1.15.5-r1
Chainguard cert-manager-1.16 0 1.16.3-r1
Chainguard cert-manager-acmesolver-1.12 0 1.12.15-r1
Chainguard cert-manager-acmesolver-1.12-bitnami-compat 0 1.12.15-r1
Chainguard cert-manager-acmesolver-1.12-iamguarded-compat 0 1.12.15-r1
Chainguard cert-manager-acmesolver-1.15 0 1.15.5-r1
Chainguard cert-manager-acmesolver-1.15-bitnami-compat 0 1.15.5-r1
Chainguard cert-manager-acmesolver-1.15-iamguarded-compat 0 1.15.5-r1
Chainguard cert-manager-acmesolver-fips-1.16 0 1.16.3-r1
Chainguard cert-manager-cainjector-1.12 0 1.12.15-r1
Chainguard cert-manager-cainjector-1.12-bitnami-compat 0 1.12.15-r1
Chainguard cert-manager-cainjector-1.12-iamguarded-compat 0 1.12.15-r1
Chainguard cert-manager-cainjector-1.15 0 1.15.5-r1
Chainguard cert-manager-cainjector-1.15-bitnami-compat 0 1.15.5-r1
Chainguard cert-manager-cainjector-1.15-iamguarded-compat 0 1.15.5-r1
Chainguard cert-manager-cainjector-fips-1.16 0 1.16.3-r1
Chainguard cert-manager-cmctl 0 2.1.1-r4

Related vulnerabilities