REDHAT-BUG-2492220: Medium severity Kubevirt virt-handler vulnerability
A flaw was found in KubeVirt's virt-handler domain notify server (pkg/virt-handler/notify-server/server.go). The gRPC handlers HandleDomainEvent (L54) and HandleK8SEvent (L96) derive the target VMI identity solely from the request body (DomainJSON informer key, EventNamespace/EventName) without validating it against the originating connection. Each virt-launcher connects via a per-VMI domain-notify-pipe.sock, but pipe.go performs a raw io.Copy byte pump with no peer identity tagging. No SOPEERCRED or per-connection authentication is present on the shared socket.
A compromised virt-launcher can connect to its own pipe socket and send HandleDomainEvent/HandleK8SEvent gRPC messages claiming to be any other VMI on the same node. virt-handler processes these as authoritative, updating the victim VMI's state in the Kubernetes API. This enables cross-tenant denial of service: forced shutdown/restart loops, lifecycle state corruption, and K8s Event forgery.
Upstream fix recommendation: Tag each pipe connection with the VMI UID at accept time (the pipe socket path already encodes it) and pass that identity through to the notify-server handlers; reject any DomainEvent/K8sEvent whose embedded namespace/name/UID does not match the connection's tagged identity.
References: - Vulnerable file: pkg/virt-handler/notify-server/server.go - Pipe handler: pkg/virt-handler/notify-server/pipe.go
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Configuration
At accept() time, derive the VMI UID from the per-VMI domain-notify-pipe socket path and tag the accepted connection with that UID. Propagate/pass the tagged connection identity into the notify-server gRPC handlers. In HandleDomainEvent (L54) and HandleK8SEvent (L96), compare the request's embedded identity fields (DomainJSON informer key, EventNamespace/EventName/UID) against the connection's tagged VMI UID and reject/deny any request whose namespace/name/UID does not match the connection's tagged identity (return an error and do not process or apply the event).
KubeVirt virt-handler notify-server (pkg/virt-handler/notify-server) pipe_connection_tagging_and_validation = enabled
Event History
Frequently Asked Questions
What is the severity of REDHAT-BUG-2492220?
The severity of REDHAT-BUG-2492220 is medium (4).
How do I fix REDHAT-BUG-2492220?
To fix REDHAT-BUG-2492220, update to the latest version of KubeVirt that addresses this vulnerability.
What components are affected by REDHAT-BUG-2492220?
REDHAT-BUG-2492220 affects the KubeVirt virt-handler, specifically its domain notify server implementation.
What is the impact of REDHAT-BUG-2492220 on KubeVirt?
The impact of REDHAT-BUG-2492220 lies in the gRPC handlers improperly deriving target VMI identities, which could lead to unauthorized access.
When was REDHAT-BUG-2492220 published?
REDHAT-BUG-2492220 was published on June 24, 2026.