CVEReports
CVEReports

Automated vulnerability intelligence platform. Comprehensive reports for high-severity CVEs generated by AI.

Product

  • Home
  • Sitemap
  • RSS Feed

Company

  • About
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CVEReports. All rights reserved.

Made with love by Amit Schendel & Alon Barad



CVE-2026-56742

CVE-2026-56742: Missing ReferenceGrant Authorization Check in Cilium Gateway API Request Mirroring

Amit Schendel
Amit Schendel
Senior Security Researcher

Sep 25, 2026·6 min read·18 visits

Executive Summary (TL;DR)

A validation bypass in Cilium's Gateway API controller allows namespaced users to configure traffic mirroring filters that copy and redirect live request streams to unauthorized services in other namespaces, bypassing the Kubernetes Gateway API ReferenceGrant security boundary.

Cilium, a cloud-native networking and security solution for Kubernetes, contains a security bypass vulnerability in its translation engine for Gateway API resources. When parsing HTTPRoute and GRPCRoute configurations, the Cilium Operator fails to apply ReferenceGrant authorization checks to RequestMirror filters. This flaw allows a user with restricted namespace-level permissions to mirror and route traffic to services across namespace boundaries without authorization, leading to cross-namespace data leaks.

Vulnerability Overview

Cilium is an open-source, cloud-native networking, observability, and security solution designed for Kubernetes environments. It utilizes eBPF technology to provide high-performance container networking, service mesh functionality, and security enforcement at the data plane layer. Within Cilium, the Kubernetes Gateway API is implemented to manage ingress and service routing, utilizing Envoy as the underlying proxy to execute complex traffic routing policies.

In Kubernetes environments implementing the Gateway API, resource access across namespaces is strictly governed by security specifications. The ReferenceGrant resource defines explicit boundaries, allowing services in one namespace to safely reference backends or routes in another namespace. When these boundaries are not enforced, tenant isolation fails, exposing internal services to unauthorized routing configurations from other namespaces.

This vulnerability, tracked as CVE-2026-56742, constitutes a missing authorization check within the Cilium Operator's route translation engine. Under specific configurations, namespaced users can configure traffic mirroring filters to redirect data streams to unauthorized services. By default, the Gateway API functionality is disabled in Cilium, which mitigates the immediate exposure of unconfigured clusters.

Root Cause Analysis

The root cause of CVE-2026-56742 lies in the logical separation of validation steps within the Cilium Operator's translation pipeline. When parsing standard backend routing targets (spec.rules[].backendRefs), the operator calls validation routines to verify namespace permissions. This validation leverages the ReferenceGrant API to confirm whether the target namespace permits references from the source route's namespace.

However, a discrepancy was introduced in the handling of traffic mirroring filters, specifically HTTPRouteFilterRequestMirror and GRPCRouteFilterRequestMirror. During translation of these filters, the operator extracted the backend reference of the mirror target and directly resolved the corresponding Kubernetes Service object. It performed this resolution without subjecting the mirror's target reference to the IsBackendReferenceAllowed validation function.

This flaw allows a namespaced user to bypass standard cross-namespace authorization mechanisms entirely. Because the Envoy control plane configuration is compiled directly from these parsed models, Cilium instructs the Envoy proxy to duplicate and forward live request traffic to the unauthorized target. This architecture creates an undocumented and unauthorized pathway for data transmission across administrative boundaries.

Code Analysis

An analysis of the vulnerable and patched source code in operator/pkg/model/ingestion/gateway.go demonstrates how the omission was addressed. In the unpatched version, the operator processed the RequestMirror filters without verifying permissions. The translation code simply resolved the service specification and appended the mirror configuration directly to the compiled route model.

// Unpatched logic in operator/pkg/model/ingestion/gateway.go
case gatewayv1.HTTPRouteFilterRequestMirror:
    svc := getServiceSpec(string(f.RequestMirror.BackendRef.Name), helpers.NamespaceDerefOr(f.RequestMirror.BackendRef.Namespace, hr.Namespace), services)
    if svc != nil {
        requestMirrors = append(requestMirrors, toHTTPRequestMirror(*svc, f.RequestMirror, hr.Namespace))
    }

The security patch inserts a validation step before retrieving the target service spec. It first ensures the RequestMirror filter structure itself is not null to prevent nil-pointer panics. It then calls helpers.IsBackendReferenceAllowed, passing the source namespace, the backend reference, the routing scheme group, and the collection of active grants.

// Patched logic in operator/pkg/model/ingestion/gateway.go
case gatewayv1.HTTPRouteFilterRequestMirror:
    if f.RequestMirror == nil {
        continue
    }
 
    if !helpers.IsBackendReferenceAllowed(hr.GetNamespace(),
        gatewayv1.BackendRef{BackendObjectReference: f.RequestMirror.BackendRef},
        gatewayv1.SchemeGroupVersion.WithKind("HTTPRoute"), grants) {
        continue
    }
 
    svc := getServiceSpec(string(f.RequestMirror.BackendRef.Name), helpers.NamespaceDerefOr(f.RequestMirror.BackendRef.Namespace, hr.Namespace), services)
    if svc != nil {
        requestMirrors = append(requestMirrors, toHTTPRequestMirror(*svc, f.RequestMirror, hr.Namespace))
    }

This remediation ensures that if the reference is not explicitly permitted by an active ReferenceGrant resource in the destination namespace, the loop skips the mirror filter. A parallel fix was applied to the extractGRPCRoutes function to secure GRPCRoute instances, ensuring complete coverage across both protocols.

Exploitation & Attack Methodology

Exploitation of this vulnerability requires the attacker to have Kubernetes Role-Based Access Control (RBAC) permissions to create or modify HTTPRoute or GRPCRoute resources in at least one namespace. No cluster-wide administrative privileges are required, making this an effective vector for privilege escalation and lateral movement in multi-tenant environments. The attacker must target a cluster where the Cilium Gateway API is enabled.

To execute the attack, the attacker deploys a route containing a RequestMirror filter targeting a sensitive service in a different namespace, such as secure-service in tenant-b. Normally, this configuration would be rejected during control-plane validation due to the absence of an authorizing ReferenceGrant. Under the vulnerable version of Cilium, the operator compiles this configuration into Envoy directives without warning.

Once the route is applied, any legitimate traffic sent to the attacker's ingress route is duplicated at the proxy layer. The duplicate request, containing all original HTTP headers, cookies, and payloads, is forwarded to the target service. This enables the attacker to trigger unintended actions or interact with backends residing inside isolated network zones.

Impact Assessment

The security impact of CVE-2026-56742 is classified as a multi-tenancy logical security bypass. In a Kubernetes cluster configured for multiple distinct tenants, namespace isolation is the primary barrier preventing cross-tenant data exposure. By subverting the ReferenceGrant enforcement, this vulnerability breaks the logical isolation layer, enabling cross-boundary data routing.

An attacker who successfully exploits this flaw can exfiltrate sensitive data by mirroring request streams. If the mirrored requests contain authorization headers, session cookies, or proprietary payloads, those secrets are transmitted directly to the unauthorized destination. This could lead to a secondary compromise of services running within the target namespace.

According to the National Vulnerability Database (NVD), the CVSS v3.1 score is evaluated at 5.9 (Medium) with a vector of CVSS:3.1/AV:A/AC:L/PR:H/UI:N/S:C/C:L/I:L/A:L. The rating reflects that while the attack complexity is low and no user interaction is required, it requires high privileges (namespaced route creation) and is limited to adjacent network topologies. However, in shared environments, the impact on integrity and confidentiality can be significant.

Remediation & Mitigation

Remediation requires upgrading the Cilium container images to a version containing the official patches. The fix has been backported to all active release branches. Administrators should deploy the updated operators and agents according to their standard upgrade procedures.

For deployments where an immediate upgrade is not feasible, several temporary mitigation strategies can be applied. First, restrict RBAC permissions for HTTPRoute and GRPCRoute resources across the cluster. Ensure that only fully trusted service accounts and administrators have creation or modification privileges for these custom resources.

Additionally, audit active routing configurations to detect unauthorized cross-namespace references. Cluster administrators can execute queries to list routes containing mirror filters that reference foreign namespaces. If any unauthorized configurations are found, the offending route resources should be deleted immediately to prevent continued traffic redirection.

Fix Analysis (4)

Technical Appendix

CVSS Score
5.9/ 10
CVSS:3.1/AV:A/AC:L/PR:H/UI:N/S:C/C:L/I:L/A:L
EPSS Probability
0.28%
Top 82% most exploited

Affected Systems

Cilium v1.17.x before v1.17.17Cilium v1.18.x before v1.18.11Cilium v1.19.x before v1.19.5

Affected Versions Detail

Product
Affected Versions
Fixed Version
Cilium
Cilium
>= 1.17.0, < 1.17.17v1.17.17
Cilium
Cilium
>= 1.18.0, < 1.18.11v1.18.11
Cilium
Cilium
>= 1.19.0, < 1.19.5v1.19.5
AttributeDetail
CWE IDCWE-862 (Missing Authorization)
Attack VectorAdjacent Network (AV:A)
CVSS Score5.9 (Medium)
EPSS Score0.00276
ImpactSecurity Bypass and Cross-Namespace Traffic Mirroring
Exploit Statusnone
KEV StatusNot Listed

MITRE ATT&CK Mapping

T1068Exploitation for Privilege Escalation
Privilege Escalation
CWE-862
Missing Authorization

The software does not perform an authorization check when an actor attempts to access a resource or perform an action, or when configuring a backend component on behalf of an actor.

Vulnerability Timeline

Vulnerability published in GitHub Advisory Database (GHSA-w7c2-w76w-5hmj)
2026-07-15
Patched versions v1.17.17, v1.18.11, and v1.19.5 released
2026-07-15
CVE-2026-56742 details and CVSS scoring updated in the National Vulnerability Database
2026-07-17

References & Sources

  • [1]Cilium Security Advisory GHSA-w7c2-w76w-5hmj
  • [2]CVE-2026-56742 Record
  • [3]NVD Vulnerability Details
  • [4]Cilium v1.17.17 Release
  • [5]Cilium v1.18.11 Release
  • [6]Cilium v1.19.5 Release

Attack Flow Diagram

Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.

More Reports

•2 days ago•CVE-2026-16454
4.3

CVE-2026-16454: Object-Level Authorization Bypass in Eclipse hawkBit Direct Device Integration Controller

CVE-2026-16454 is an object-level authorization bypass vulnerability (CWE-284, CWE-862) in Eclipse hawkBit versions 1.0.3 and prior. The flaw exists within the Direct Device Integration (DDI) REST controller (hawkbit-ddi-resource), where endpoints responsible for enumerating software module metadata and serving firmware binaries fail to verify whether the requested software module is assigned to the authenticated device. Consequently, any device with valid credentials (such as a TargetToken or GatewayToken) can enumerate software module identifiers and download arbitrary firmware artifacts across the entire tenant namespace.

Amit Schendel
Amit Schendel
11 views•9 min read
•2 days ago•CVE-2026-62284
8.6

CVE-2026-62284: Remote Code Execution and SSRF via Unsanitized Kubeconfig in OSAC Operator

CVE-2026-62284 (GHSA-5w5g-j6hw-6p8f) is a code injection and server-side request forgery vulnerability in the console-proxy component of the OSAC Operator. The RemoteConfigResolver parses Kubernetes Secrets containing kubeconfig files via clientcmd.RESTConfigFromKubeConfig without sanitizing execution-related fields. An attacker with RBAC permissions to create or modify labeled Secrets in monitored namespaces can supply a malicious exec credential plugin, resulting in arbitrary command execution within the console-proxy pod.

Amit Schendel
Amit Schendel
8 views•8 min read
•2 days ago•CVE-2026-62361
5.5

CVE-2026-62361: Authenticated SQL Injection and Table Access Control Bypass in Listmonk Subscriber Export

CVE-2026-62361 (GHSA-xgjr-7j9q-2h4r) is an authenticated SQL injection and authorization bypass vulnerability in listmonk, an open-source, self-hosted newsletter and mailing list manager written in Go. In versions prior to 6.2.0, the subscriber export endpoint (GET /api/subscribers/export) directly interpolates user-supplied SQL filter expressions into a PostgreSQL query without invoking the table allowlist validation function (validateQueryTables). Consequently, authenticated users possessing the subscribers:sql_query and subscribers:get_all permissions can bypass relational access controls, execute arbitrary subqueries against restricted tables such as users and settings, and modify database state via writable Common Table Expressions (CTEs).

Alon Barad
Alon Barad
10 views•11 min read
•2 days ago•CVE-2026-28385
5.0

CVE-2026-28385: Server-Side Request Forgery in Canonical LXD Image Import

CVE-2026-28385 (GHSA-3gq2-x4qg-p4g6) is a Server-Side Request Forgery (SSRF) vulnerability in Canonical LXD versions 4.12 through 6.9. An authenticated user possessing the can_create_images entitlement can force the LXD daemon to execute arbitrary outbound HTTP and HTTPS requests via the /1.0/images API endpoint. Due to the absence of egress destination validation, an attacker can probe host loopback services, RFC 1918 private network segments, and cloud Instance Metadata Services (IMDS) from the network position of the privileged LXD daemon.

Amit Schendel
Amit Schendel
10 views•9 min read
•2 days ago•GHSA-9J25-MM2H-2F76
9.9

CVE-2026-48750: Arbitrary File Write on Host via exec-output Symlink in Canonical LXD and Incus

Canonical LXD and LXC Incus contain an arbitrary file write vulnerability (CWE-73 / CWE-59) in the `/1.0/instances/<name>/exec` REST API endpoint. When an instance is unpacked from an image archive, top-level symbolic links are extracted directly onto the host filesystem within the instance storage directory. If a crafted image includes a symbolic link named `exec-output` pointing to an arbitrary host path, invoking the execution endpoint with `record-output: true` causes the privileged host daemon to follow the symlink and write command output files directly to the target host directory. An authenticated attacker with permissions to import images and execute commands can exploit this flaw to write controlled content to sensitive host directories such as `/etc/cron.d`, resulting in arbitrary code execution on the host as `root`.

Alon Barad
Alon Barad
8 views•12 min read
•2 days ago•GHSA-VGHH-5RFX-XHQ8
9.9

CVE-2026-48749: Arbitrary Host File Read and Write via Malicious Image Symlink in Canonical LXD and Incus

CVE-2026-48749 (tracked as GHSA-vghh-5rfx-xhq8 for LXD and GHSA-2q3f-q5pq-g8wv for Incus) is a critical container escape vulnerability in the Canonical LXD and Linux Containers Incus system container managers. By importing a specially crafted container image archive containing duplicate tar member headers, an authenticated attacker can replace the instance rootfs directory with a symbolic link pointing to the underlying host root filesystem. When performing file operations on a stopped container, the privileged forkfile helper binary resolves the symbolic link without confinement and chroots directly into the host filesystem, granting arbitrary root-level file read and write access.

Amit Schendel
Amit Schendel
8 views•9 min read