<Vulnerability name="CVE-2026-13318">
    <DocumentDistribution xml:lang="en">Copyright © 2012 Red Hat, Inc. All rights reserved.</DocumentDistribution>
    <ThreatSeverity>Moderate</ThreatSeverity>
    <PublicDate>2026-06-25T00:00:00</PublicDate>
    <Bugzilla id="2492659" url="https://bugzilla.redhat.com/show_bug.cgi?id=2492659" xml:lang="en:us">
virt-api-rhel9: kubevirt: KubeVirt: SSRF in virt-api port-forward via unvalidated guest-agent-reported IP
    </Bugzilla>
    <CVSS3 status="draft">
        <CVSS3BaseScore>6.4</CVSS3BaseScore>
        <CVSS3ScoringVector>CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N</CVSS3ScoringVector>
    </CVSS3>
    <CWE>CWE-918</CWE>
    <Details xml:lang="en:us" source="Mitre">
A server-side request forgery (SSRF) flaw was found in KubeVirt's virt-api port-forward handler. When processing a port-forward request to a VirtualMachineInstance (VMI), virt-api reads the target IP from vmi.Status.Interfaces[0].IP and passes it directly to net.Dial() without validation. For VMIs using non-masquerade network bindings (bridge or secondary-only), this IP is reported by the QEMU guest agent running inside the VM and is fully controllable by the VM owner. An attacker with kubevirt.io:edit permissions can create a VM with a modified guest agent that reports an arbitrary IP address, then request port-forward to establish a bidirectional TCP tunnel from virt-api's cluster-internal network position to any routable destination, bypassing NetworkPolicy isolation.
    </Details>
    <Details xml:lang="en:us" source="Red Hat">
A server-side request forgery (SSRF) flaw was found in KubeVirt's virt-api port-forward handler. When processing a port-forward request to a VirtualMachineInstance (VMI), virt-api reads the target IP from vmi.Status.Interfaces[0].IP and passes it directly to net.Dial() without validation. For VMIs using non-masquerade network bindings (bridge or secondary-only), this IP is reported by the QEMU guest agent running inside the VM and is fully controllable by the VM owner. An attacker with kubevirt.io:edit permissions can create a VM with a modified guest agent that reports an arbitrary IP address, then request port-forward to establish a bidirectional TCP tunnel from virt-api's cluster-internal network position to any routable destination, bypassing NetworkPolicy isolation.
    </Details>
    <Statement xml:lang="en:us">
Red Hat has rated this issue as Moderate impact. Only VMs configured with bridge binding or secondary-only network interfaces (which require a cluster administrator to have created a NetworkAttachmentDefinition) are affected.
    </Statement>
    <Acknowledgement xml:lang="en:us">
This issue was discovered by Huzaifa Sidhpurwala (Red Hat).
    </Acknowledgement>
    <Mitigation xml:lang="en:us">
Users who do not use bridge binding or secondary-only network interfaces for their VMs are not affected by this vulnerability. For environments using these configurations, cluster administrators can apply egress NetworkPolicy to the openshift-cnv namespace to restrict virt-api's outbound connections to known-legitimate destinations (launcher pod CIDRs and node IPs), which blocks the SSRF to arbitrary targets.
    </Mitigation>
    <PackageState cpe="cpe:/a:redhat:container_native_virtualization:4">
        <ProductName>Red Hat OpenShift Virtualization 4</ProductName>
        <FixState>Fix deferred</FixState>
        <PackageName>container-native-virtualization/virt-api</PackageName>
    </PackageState>
    <PackageState cpe="cpe:/a:redhat:container_native_virtualization:4">
        <ProductName>Red Hat OpenShift Virtualization 4</ProductName>
        <FixState>Fix deferred</FixState>
        <PackageName>container-native-virtualization/virt-api-rhel9</PackageName>
    </PackageState>
    <References xml:lang="en:us">
https://www.cve.org/CVERecord?id=CVE-2026-13318
https://nvd.nist.gov/vuln/detail/CVE-2026-13318
    </References>
</Vulnerability>