Cloudanix VulnDB

CVE-2025-22870

Medium · 4.4

CVSS

4.4

EPSS

0.4%

Published

Mar 12, 2025

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A flaw in how network addresses are handled could allow an attacker with local access to bypass security proxies, potentially exposing sensitive internal traffic.

Chainable
Exploitation
Local Privilege
Attacker needs
Local User
Complexity
Low
Impact
Data Exposure
Component
Library
Class
Improper Input Validation
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The vulnerability causes incorrect parsing of IPv6 addresses that include a zone ID. When matching hostnames against proxy exclusion lists (like the NO_PROXY environment variable), the zone ID can be misinterpreted as part of the hostname. This allows a crafted request to improperly match an exclusion rule, causing it to bypass the configured proxy. This can lead to unintended network traffic routing, potentially resulting in low-impact information disclosure or denial of service.

Why it matters to the business

This vulnerability allows for the bypass of network security controls implemented by proxies. An attacker could cause sensitive application traffic, which is intended to be routed through a secure and monitored proxy, to be sent directly to its destination, evading inspection, logging, and filtering. This can lead to information leakage, policy violations, and a weakened security posture by creating blind spots in network monitoring.

How an attack unfolds

An attacker with local access to a system or control over an application's network requests can exploit this vulnerability. The attacker first identifies the proxy exclusion rules configured in the environment, typically via the NO_PROXY variable. They then craft a network request to a destination using an IPv6 address that includes a specially formatted zone ID. This zone ID is designed to mimic a domain in the exclusion list. When the vulnerable application processes this request, it misinterprets the zone ID as part of the hostname, incorrectly matches it against the exclusion list, and consequently sends the traffic directly to the destination, bypassing the intended security proxy.

How to fix it

The primary remediation is to upgrade affected components to a version that correctly parses IPv6 addresses with zone IDs. For affected Red Hat Single Sign-On products, upgrade to version `15.0.4-1.redhat_00001.1.el8sso` or later. If patching is not immediately possible, a potential mitigation is to review and tighten `NO_PROXY` rules to be as specific as possible, avoiding broad wildcards that are easier to mimic. However, this is not a complete solution, and patching is strongly recommended.

How to confirm the fix worked

To validate the fix, configure a test environment with a proxy server and set the `NO_PROXY` environment variable to a wildcard domain (e.g., `*.example.com`). From an application running on this system, attempt to make a network request to a crafted IPv6 address with a zone ID that matches the wildcard, such as `http://[::1%25test.example.com]`. Monitor the proxy's access logs. If the request appears in the proxy logs, the system is correctly routing the traffic and is not vulnerable. If the request bypasses the proxy, the system is vulnerable.

Typical attack path

  1. Attacker gains local access to a system or compromises an application that makes outbound network requests.
  2. The attacker identifies the proxy exclusion rules, such as those defined in the `NO_PROXY` environment variable.
  3. The attacker crafts a network request to a malicious or external destination using a specially formatted IPv6 address.
  4. The crafted IPv6 address includes a zone ID that mimics a hostname pattern present in the proxy exclusion list.
  5. The vulnerable application incorrectly parses the address, matches it against the exclusion list, and bypasses the configured proxy.
  6. The request is sent directly to the attacker-controlled or external destination, evading security monitoring and filtering.

How to detect it

To detect potential historical exploitation, security teams should analyze network flow logs (e.g., VPC flow logs, firewall logs) for direct outbound connections from hosts that are configured to use a proxy for all or most traffic. Correlate these direct connections against proxy server logs to identify traffic that should have been proxied but was not. Additionally, search application and system logs for connection attempts to hostnames containing IPv6 addresses with a zone ID, specifically looking for the `%25` or `%` characters within the hostname string, which may indicate an attempt to trigger the parsing flaw.

  • URL or hostname strings in logs containing an IPv6 address with a zone ID, such as `[...%25...]` or `[...%...]`.
  • Network connections to hostnames that appear to be malformed IPv6 addresses containing domain names, for example: `[::1%25malicious-domain.com]`.

What your security team should do

  • Prioritize patching affected systems, especially those in multi-tenant or less trusted environments where local access is a credible threat.
  • Audit `NO_PROXY` environment variable configurations across your fleet to ensure they are as specific as possible and do not use overly broad wildcards.
  • Review network egress logs for unexpected direct connections from servers that are supposed to route all traffic through a proxy, as this could indicate a bypass.

The record

Matching of hosts against proxy patterns can improperly treat an IPv6 zone ID as a hostname component. For example, when the NO_PROXY environment variable is set to "*.example.com", a request to "[::1%25.example.com]:80` will incorrectly match and not be proxied.

Affected packages

Ecosystem Package Introduced Fixed
Go golang.org/x/net 0 0.36.0
Chainguard aactl 0 0.4.12-r28
Chainguard actions-runner-controller 0 0.10.1-r6
Chainguard actions-runner-controller-compat 0 0.10.1-r6
Chainguard actions-runner-controller-fips 0 0.10.1-r6
Chainguard actions-runner-controller-fips-compat 0 0.10.1-r6
Chainguard addon-resizer 0 1.8.23-r3
Chainguard addon-resizer-compat 0 1.8.23-r3
Chainguard addon-resizer-fips 0 1.8.23-r3
Chainguard addon-resizer-fips-compat 0 1.8.23-r3
Chainguard agentbeat-fips 0 8.17.3-r3
Chainguard amazon-cloudwatch-agent 0 1.300054.0-r1
Chainguard amazon-cloudwatch-agent-all 0 1.300054.0-r1
Chainguard amazon-cloudwatch-agent-amazon-cloudwatch-agent-config-wizard 0 1.300054.0-r1
Chainguard amazon-cloudwatch-agent-amazon-cloudwatch-agent-config-wizard-fips 0 1.300053.1-r1
Chainguard amazon-cloudwatch-agent-compat 0 1.300054.0-r1
Chainguard amazon-cloudwatch-agent-config-downloader 0 1.300054.0-r1
Chainguard amazon-cloudwatch-agent-config-downloader-fips 0 1.300053.1-r1
Chainguard amazon-cloudwatch-agent-config-translator 0 1.300054.0-r1
Chainguard amazon-cloudwatch-agent-config-translator-fips 0 1.300053.1-r1
Chainguard amazon-cloudwatch-agent-fips 0 1.300053.1-r1
Chainguard amazon-cloudwatch-agent-operator 0 2.2.0-r1
Chainguard amazon-cloudwatch-agent-operator-compat 0 2.2.0-r1
Chainguard amazon-cloudwatch-agent-operator-fips 0 2.2.0-r1
Chainguard amazon-cloudwatch-agent-operator-fips-compat 0 2.2.0-r1
Chainguard amazon-cloudwatch-agent-start-amazon-cloudwatch-agent 0 1.300054.0-r1
Chainguard amazon-cloudwatch-agent-start-amazon-cloudwatch-agent-fips 0 1.300053.1-r1
Chainguard amazon-eks-ami 0 20250304-r0
Chainguard amazon-k8s-cni 0 1.19.3-r2
Chainguard amazon-k8s-cni-compat 0 1.19.3-r2
Chainguard amazon-k8s-cni-fips 0 1.19.3-r3
Chainguard amazon-k8s-cni-init 0 1.19.3-r2
Chainguard amazon-k8s-cni-init-compat 0 1.19.3-r2
Chainguard amazon-k8s-cni-init-fips 0 1.19.3-r3
Chainguard amazon-k8s-cni-init-fips-compat 0 1.19.3-r3
Chainguard amazon-ssm-agent 0 3.3.1957.0-r4
Chainguard amazon-ssm-agent-ecs-exec 0 3.3.1957.0-r4
Chainguard ansible-operator 0 1.37.1-r5
Chainguard ansible-operator-compat 0 1.37.1-r5
Chainguard apache-beam-java-11-sdk 0 2.63.0-r1
Chainguard apache-beam-java-17-sdk 0 2.63.0-r1
Chainguard apache-beam-java-21-sdk 0 2.63.0-r1
Chainguard apache-beam-java-sdk 0 2.63.0-r1
Chainguard apache-beam-python-3.11-sdk 0 2.63.0-r2
Chainguard apko 0 0.25.5-r0
Chainguard apm-server 0 8.17.3-r2
Chainguard apm-server-compat 0 8.17.3-r2
Chainguard apm-server-fips 0 8.17.3-r0
Chainguard argo-cd-2.10 0 2.10.18-r13
Chainguard argo-cd-2.10-compat 0 2.10.18-r13
Chainguard argo-cd-2.10-repo-server 0 2.10.18-r13
Chainguard argo-cd-2.11 0 2.11.13-r6
Chainguard argo-cd-2.11-compat 0 2.11.13-r6
Chainguard argo-cd-2.11-repo-server 0 2.11.13-r6
Chainguard argo-cd-2.12 0 2.12.10-r7
Chainguard argo-cd-2.12-compat 0 2.12.10-r7
Chainguard argo-cd-2.12-repo-server 0 2.12.10-r7
Chainguard argo-cd-2.13 0 2.13.5-r7
Chainguard argo-cd-2.13-compat 0 2.13.5-r7
Chainguard argo-cd-2.13-repo-server 0 2.13.5-r7
Chainguard argo-cd-fips-2.10 0 2.10.18-r11
Chainguard argo-cd-fips-2.10-compat 0 2.10.18-r11
Chainguard argo-cd-fips-2.10-repo-server 0 2.10.18-r11
Chainguard argo-cd-fips-2.11 0 2.11.13-r5
Chainguard argo-cd-fips-2.11-compat 0 2.11.13-r5
Chainguard argo-cd-fips-2.11-repo-server 0 2.11.13-r5
Chainguard argo-cd-fips-2.12 0 2.12.10-r7
Chainguard argo-cd-fips-2.12-compat 0 2.12.10-r7
Chainguard argo-cd-fips-2.12-repo-server 0 2.12.10-r7
Chainguard argo-cd-fips-2.13 0 2.13.5-r6
Chainguard argo-cd-fips-2.13-compat 0 2.13.5-r6
Chainguard argo-cd-fips-2.13-repo-server 0 2.13.5-r6
Chainguard argo-cd-fips-2.14 0 2.14.5-r2
Chainguard argo-cd-fips-2.14-compat 0 2.14.5-r2
Chainguard argo-cd-fips-2.14-repo-server 0 2.14.5-r2
Chainguard argo-events 0 1.9.5-r5
Chainguard argo-events-compat 0 1.9.5-r5
Chainguard argo-events-fips 0 1.9.5-r5
Chainguard argo-events-fips-compat 0 1.9.5-r5
Chainguard argo-rollouts 0 1.8.0-r33
Chainguard argo-rollouts-compat 0 1.8.0-r33
Chainguard argo-rollouts-fips 0 1.8.0-r5
Chainguard argo-workflow-cli 0 3.6.5-r1
Chainguard argo-workflow-cli-fips 0 3.6.5-r1
Chainguard argo-workflow-controller 0 3.6.5-r1
Chainguard argo-workflow-controller-compat 0 3.6.5-r1
Chainguard argo-workflow-controller-compat-fips 0 3.6.5-r1
Chainguard argo-workflow-controller-fips 0 3.6.5-r1
Chainguard argo-workflow-executor 0 3.6.5-r1
Chainguard argo-workflow-executor-compat 0 3.6.5-r1
Chainguard argo-workflow-executor-compat-fips 0 3.6.5-r1
Chainguard argo-workflow-executor-fips 0 3.6.5-r1
Chainguard argo-workflows 0 3.6.5-r1
Chainguard argo-workflows-fips 0 3.6.5-r1
Chainguard argo-workflows-known-hosts 0 3.6.5-r1
Chainguard argo-workflows-known-hosts-fips 0 3.6.5-r1
Chainguard argo-workflows-ui 0 3.6.5-r1
Chainguard argocd-image-updater 0 0.15.2-r8
Chainguard argocd-image-updater-compat 0 0.15.2-r8
Chainguard atlantis 0 0.33.0-r4
Chainguard atlantis-fips 0 0.33.0-r5
Chainguard auditbeat-7 0 7.17.28-r4
Chainguard auditbeat-7-oci-entrypoint 0 7.17.28-r4
Chainguard auditbeat-8 0 8.17.3-r3
Chainguard auditbeat-8-oci-entrypoint 0 8.17.3-r3
Chainguard auditbeat-fips-7 0 7.17.28-r3
Chainguard auditbeat-fips-8 0 8.17.3-r3
Chainguard authservice-fips 0 1.0.4-r4
Chainguard authservice-fips-compat 0 1.0.4-r4
Chainguard aws-application-networking-k8s 0 1.1.0-r5
Chainguard aws-application-networking-k8s-compat 0 1.1.0-r5
Chainguard aws-ebs-csi-driver 0 1.40.1-r1
Chainguard aws-ebs-csi-driver-fips 0 1.41.0-r0
Chainguard aws-efs-csi-driver 0 2.1.6-r2
Chainguard aws-efs-csi-driver-fips 0 2.1.6-r2
Chainguard aws-iam-authenticator 0 0.6.30-r2
Chainguard aws-load-balancer-controller 0 2.12.0-r1
Chainguard aws-load-balancer-controller-compat 0 2.12.0-r1
Chainguard aws-load-balancer-controller-fips 0 2.12.0-r1
Chainguard aws-network-policy-agent 0 1.2.0-r1
Chainguard aws-network-policy-agent-compat 0 1.2.0-r1
Chainguard aws-network-policy-agent-compat-fips 0 1.1.6-r4
Chainguard aws-network-policy-agent-fips 0 1.1.6-r4
Chainguard aws-privateca-issuer-compat-fips 0 1.4.1-r2
Chainguard aws-privateca-issuer-fips 0 1.4.1-r2
Chainguard aws-s3-controller 0 1.0.27-r32
Chainguard aws-s3-controller-compat 0 1.0.27-r32
Chainguard azcopy 0 10.28.0-r4
Chainguard azcopy-fips 0 10.28.0-r4
Chainguard azure-aad-pod-identity-mic 0 1.8.17-r20
Chainguard azure-aad-pod-identity-nmi 0 1.8.17-r20
Chainguard azuredisk-csi-1.29 0 1.29.12-r5
Chainguard azuredisk-csi-1.29-compat 0 1.29.12-r5
Chainguard azuredisk-csi-1.30 0 1.30.9-r3
Chainguard azuredisk-csi-1.30-compat 0 1.30.9-r3
Chainguard azuredisk-csi-fips-1.28 0 1.28.11-r9
Chainguard azuredisk-csi-fips-1.29 0 1.29.12-r5
Chainguard azuredisk-csi-fips-1.30 0 1.30.9-r3
Chainguard bank-vaults 0 1.20.4-r27
Chainguard bank-vaults-fips 0 1.20.4-r24
Chainguard bank-vaults-template 0 1.20.4-r27
Chainguard bank-vaults-template-fips 0 1.20.4-r24
Chainguard beats-7 0 7.17.28-r4
Chainguard beats-8 0 8.17.3-r3
Chainguard beats-fips-7 0 7.17.28-r3
Chainguard beats-fips-8 0 8.17.3-r3
Chainguard bom 0 0.6.0-r18
Chainguard boring-registry 0 0.16.3-r1
Chainguard boring-registry-fips 0 0.16.3-r1
Chainguard buildah 0 1.39.2-r32
Chainguard buildctl 0 0.20.1-r2
Chainguard buildctl-fips 0 0.20.1-r2
Chainguard buildkitd 0 0.20.1-r2
Chainguard buildkitd-fips 0 0.20.1-r2
Chainguard caddy 0 2.9.1-r7
Chainguard caddy-fips 0 2.9.1-r7
Chainguard caddy-man 0 2.9.1-r7
Chainguard caddy-src 0 2.9.1-r7
Chainguard cadvisor 0 0.52.1-r3
Chainguard cadvisor-compat 0 0.52.1-r3
Chainguard cadvisor-fips 0 0.52.1-r2
Chainguard calico-3.27 0 3.27.5-r33
Chainguard calico-3.27-apiserver 0 3.27.5-r33
Chainguard calico-3.27-app-policy 0 3.27.5-r33
Chainguard calico-3.27-calicoctl 0 3.27.5-r33
Chainguard calico-3.27-cni 0 3.27.5-r33
Chainguard calico-3.27-cni-compat 0 3.27.5-r33
Chainguard calico-3.27-felix 0 3.27.5-r33
Chainguard calico-3.27-kube-controllers 0 3.27.5-r33
Chainguard calico-3.27-node 0 3.27.5-r33
Chainguard calico-3.27-pod2daemon 0 3.27.5-r33
Chainguard calico-3.27-pod2daemon-flexvol-compat 0 3.27.5-r33
Chainguard calico-3.27-typha-client 0 3.27.5-r33
Chainguard calico-3.27-typhad 0 3.27.5-r33
Chainguard calico-3.28 0 3.28.3-r33
Chainguard calico-3.29 0 3.29.2-r31
Chainguard calico-apiserver-3.27 0 3.27.5-r33
Chainguard calico-apiserver-3.28 0 3.28.3-r33
Chainguard calico-apiserver-3.29 0 3.29.2-r31
Chainguard calico-apiserver-compat-3.27 0 3.27.5-r33
Chainguard calico-apiserver-compat-3.28 0 3.28.3-r33
Chainguard calico-apiserver-compat-3.29 0 3.29.2-r31
Chainguard calico-apiserver-compat-fips-3.27 0 3.27.5-r35
Chainguard calico-apiserver-fips-3.27 0 3.27.5-r35
Chainguard calico-apiserver-fips-3.28 0 3.28.3-r32
Chainguard calico-apiserver-fips-3.29 0 3.29.2-r31
Chainguard calico-app-policy-3.27 0 3.27.5-r33
Chainguard calico-app-policy-3.28 0 3.28.3-r33
Chainguard calico-app-policy-3.29 0 3.29.2-r31
Chainguard calico-app-policy-fips-3.27 0 3.27.5-r35
Chainguard calico-app-policy-fips-3.28 0 3.28.3-r32
Chainguard calico-app-policy-fips-3.29 0 3.29.2-r31
Chainguard calico-cni-3.27 0 3.27.5-r33
Chainguard calico-cni-3.28 0 3.28.3-r33
Chainguard calico-cni-3.29 0 3.29.2-r31
Chainguard calico-cni-compat-3.27 0 3.27.5-r33
Chainguard calico-cni-compat-3.28 0 3.28.3-r33
Chainguard calico-cni-compat-3.29 0 3.29.2-r31
Chainguard calico-cni-compat-fips-3.27 0 3.27.5-r35
Chainguard calico-cni-compat-fips-3.28 0 3.28.3-r32

Related vulnerabilities