On affected platforms running Arista EOS where a tunnel decapsulation configuration—such as VXLAN (Virtual Extensible LAN), decap-groups, or a GRE (Generic Routing Encapsulation) tunnel interface—is present, the switch will incorrectly decapsulate and forward other unexpected tunneled packet with a destination IP matching its configured decapsulation IP. This occurs because the switch does not verify the tunnel protocol type, potentially leading to the unexpected processing of non-configured tunnel traffic. This issue has been reported as being exploited in the wild.
| Version | Base score | Base severity | Vector |
|---|
| Hyperlink | Resource Type |
|---|
On affected platforms running Arista EOS where a tunnel decapsulation configuration—such as VXLAN (Virtual Extensible LAN), decap-groups, or a GRE (Generic Routing Encapsulation) tunnel interface—is present, the switch will incorrectly decapsulate and forward other unexpected tunneled packet with a destination IP matching its configured decapsulation IP. This occurs because the switch does not verify the tunnel protocol type, potentially leading to the unexpected processing of non-configured tunnel traffic. This issue has been reported as being exploited in the wild.
| Version | Base score | Base severity | Vector |
|---|---|---|---|
| 3.1 | 5.8 | MEDIUM | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N |
| 4.0 | 6.9 | MEDIUM | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:L/SA:N |
No software upgrade path is planned to address this issue due to the risk of breaking existing configuration on deployments. The recommended resolution of this issue is to follow the appropriate mitigation instructions detailed in the workaround block.
In order to be vulnerable to CVE-2026-7473, the following condition must be met: The device must be configured as a tunnel endpoint with a decapsulation IP — for example, as a VXLAN VTEP, a GRE tunnel endpoint, or with an ip decap-group. A device configured to decapsulate one tunnel type will also incorrectly accept and decapsulate other tunnel protocols destined to the same IP address, even if those protocols were not explicitly configured. The following table summarizes which additional tunnel types a device will decapsulate based on its configured decapsulation type (note that some cases require extra protocol specific configurations for traffic to be decapsulated). Note that in all cases the inner header could be IPv4 or IPv6. Note on Platforms: * All scenarios below apply to 7020R Series, 7280R/R2 Series, and 7500R/R2 Series. * Only the IP-in-IPv6 and GUE IPV6 Decap Group scenarios apply to 7280R3 Series, 7500R3 Series, and 7800R3 Series. Configured decapsulation tunnel typeUnexpected decapsulation of tunnel type traffic to configured decap IPAdditional configurations required for exploitationVXLAN IPv4 Tunnel InterfaceGRE, IPoIPNoneNVGRETNI in NVGRE packet must match a VXLAN VNI configured on switchGRE IPv4 Tunnel InterfaceVXLANVXLAN Tunnel Interface (VTI) and VNI mapping must be configuredGeneric UDP Encapsulation (GUE)GUE Decap Group and relevant UDP destination port to payload mapping must be configured. Both source and destination IP must match GRE tunnel configuration.IPoIPBoth source and destination IP must match GRE tunnel configuration.GRE IPv4 Decap GroupIPoIPNoneVXLANVXLAN Tunnel Interface (VTI) and VNI mapping must be configuredGUEGUE Decap Group and relevant UDP destination port to payload mapping must be configured.NVGREVXLAN Tunnel Interface (VTI) must be configured. TNI in NVGRE packet must match a VXLAN VNI configured on switch.GUE IPv4 Decap GroupGRE, IPoIPNoneIP-in-IPv4 Decap GroupGRENoneNVGREVXLAN Tunnel Interface (VTI) must be configured. TNI in NVGRE packet must match a VNI configured on switch.VXLANVXLAN Tunnel Interface (VTI) and VNI mapping must be configuredGUEGUE Decap Group and relevant UDP destination port to payload mapping must be configured.IP-in-IPv6 Decap GroupGREv6NoneGUEv6GUE Decap Group and relevant UDP destination port to payload mapping must be configured.GUE IPv6 Decap GroupIP-in-IPv6, GREv6None
To check if the device is acting as a VXLAN VTEP: switch>show interfaces vxlan 1 Vxlan1 is up, line protocol is up (connected) Source interface is Loopback1 and is active with 10.0.0.1 Listening on UDP port 4789 ... If the output contains “Source interface is <interface> and is active with <IP>”, the device is acting as a VXLAN VTEP with <IP> as the tunnel termination address, and is potentially impacted. To check if a GRE tunnel interface is configured: switch>show interfaces Tunnel0 Tunnel0 is up, line protocol is up Hardware is Tunnel Tunnel source 1.1.1.1, destination 1.1.1.2 Tunnel protocol/transport GRE/IP ... If the tunnel interface is up with a source and destination, the device is a GRE tunnel endpoint and is potentially impacted. To check if decap-groups are configured: switch>show ip decap-group If none of the above outputs show the presence of any tunnel endpoint configurations, the device does not perform tunnel decapsulation and is not exposed to this issue.
There are two broad approaches to mitigate this issue - (1) applying ACLs on upstream devices or (2) applying ACLs on the devices where the unexpected decapsulation is happening. In both cases, the idea is to either selectively allow only legitimate tunnel traffic or to selectively block malicious tunnel traffic. For example, if a network is configured to forward VXLAN traffic, but GRE traffic is being unexpectedly forwarded, then ACLs can be used to either selectively allow just VXLAN traffic or selectively block GRE traffic. More details about using the ACL feature can be found in the Arista User Manual https://www.arista.com/en/um-eos/eos-acls-and-route-maps#xx1150869 . A note of caution, the following ACL-based mitigation recommendations assume that the tunnel IP is dedicated solely to receiving the configured tunnel protocol traffic. When adapting these rules for your environment, it is important to explicitly permit any additional protocol traffic—such as BGP or SSH—if that IP serves multiple functions. To maintain connectivity, ensure these permit statements are sequenced before any deny statements directed at the decapsulation IP. The following configurations align with the recommendations outlined in the Arista EOS Hardening Guide https://arista.my.site.com/AristaCommunity/s/article/arista-eos-hardening-guide#Comm_Kna_ka0Uw00000097VJIAY_71 .
Approach 1 - Applying ACL on Upstream Switches On upstream devices, applying ACLs to allow specific tunneled traffic is straightforward. ACLs can be applied that match on tunnel destination IP, the IP next protocol field, and (optionally) UDP destination port to selectively allow or block specific tunnel protocols. Example ACLs for Arista EOS follows. ACL to permit VXLANv4 Only This IPv4 ACL matches on VXLAN packets as follows: (a) IP next protocol = UDP (17) (b) IP DIP = VXLAN VTEP IP (c) UDP destination port = VXLAN UDP Port (4789) It allows VXLAN packets and drops all other packets to the VXLAN Decap IP. ip access-list foo counters per-entry 1 permit udp any host <vxlan-decap-ip> eq 4789 2 deny ip any host <decap-ip> 3 permit ip any any ACL to permit GREv4 Only This IPv4 ACL matches on GRE packets as follows: (a) IP next protocol = GRE (47) (b) IP DIP = GRE Tunnel Destination IP It allows GRE packets and drops all other packets to the GRE Decap IP. ip access-list foo counters per-entry 1 permit gre any host <gre-decap-ip> 2 deny ip any host <gre-decap-ip> 3 permit any any ACL to permit IP-in-IPv4 Only This IPv4 ACL matches on IP-in-IPv4 packets as follows: (a) IP next protocol = IPv4 (4) or IPv6 (41) (b) IP DIP = IP-in-IP Decap IP It allows IP-in-IPv4 packets and drops all other packets to the IP-in-IPv4 Decap IP. ip access-list foo counters per-entry 1 permit 4 any host <ipip-decap-ip> 2 permit 41 any host <ipip-decap-ip> 3 deny ip any host <ipip-decap-ip> 4 permit any any ACL to Permit IP-in-IPv6 Only This IPv6 ACL matches on IP-in-IPv6 packets as follows: (a) IP next protocol = IPv4 (4) or IPv6 (41) (b) IP DIP = IP-in-IP Decap IP It allows IP-in-IPv6 packets and drops all other packets to the IP-in-IPv6 Decap IP. ipv6 access-list foo counters per-entry 1 permit 4 any host <ipip-decap-ip> 2 permit 41 any host <ipip-decap-ip> 3 deny ipv6 any host <ipip-decap-ip> 4 permit ipv6 any any ACL to permit GUEv4 Only This IPv4 ACL matches on GUE packets as follows: (a) IP next protocol = UDP (17) (b) IP DIP = GUE Decap IP (c) UDP destination port = UDP port configured per payload (IP = Y or MPLS = Z) It allows GUE packets and drops all other packets to the GUE Decap IP. ip access-list foo counters per-entry 1 permit udp any host <decap-ip> eq Y 2 permit udp any host <decap-ip> eq Z 3 deny ip any host <decap-ip> 4 permit ip any any ACL to Permit GUEv6 Only This IPv6 ACL matches on GUE packets as follows: (a) IP next protocol = UDP (17) (b) IP DIP = GUE Decap IP (c) UDP destination port = UDP port configured per payload (IP = Y or MPLS = Z) It allows GUE packets and drops all other packets to the GUE Decap IP. ipv6 access-list foo counters per-entry 1 permit udp any host <decap-ip> eq Y 2 permit udp any host <decap-ip> eq Z 3 deny ipv6 any host <decap-ip> 4 permit ipv6 any any
Approach 2 - Applying ACL on Decapsulation Switches Applying ACLs on the decapsulation device is more complicated. It requires the use of MAC ACLs on 7020R Series, 7280R/R2 Series, and 7500R/R2 Series systems and IP ACLs on 7280R3 Series, 7500R3 Series, and 7800R3 Series systems. In both cases, a TCAM profile update is also required. Note that TCAM profile update is a disruptive operation that could impact traffic forwarding. More information can be found in User-defined TCAM Profiles https://www.arista.com/en/support/toi/eos-4-26-0f/14755-user-defined-tcam-profiles . 7020R Series, 7280R/R2 Series, and 7500R/R2 Series Mitigation involves using MAC ACLs to allow specific expected protocol packets and block all other traffic to the configured decap IPs. The suggested MAC ACLs use User Defined Fields (UDFs) to match on specific fields in the packet headers. This requires a TCAM profile update to include the following UDF qualifiers: * For IPv4 tunnels, 2 16b and 1 32b UDF qualifiers need to be included. * For IPv6 tunnels, 2 16b and 4 32b UDF qualifiers need to be included. However, in order to make room for the UDF qualifiers, other TCAM features/qualifiers must be removed due to hardware constraints. Following are some suggested TCAM profile changes to accommodate the required UDF qualifiers: * TCAM profile that includes the UDF qualifiers for IPv4 tunnels, but removes support for MPLS: hardware tcam profile test copy default feature acl port mac no key size limit key field udf-16b-1 udf-16b-2 udf-32b-1 no feature mpls no feature mpls pop ingress no feature pbr mpls * TCAM profile that includes the UDF qualifiers for IPv4 tunnels, but removes support for VXLAN: hardware tcam profile test copy default feature acl port mac no key field src-mac key field udf-16b-1 udf-16b-2 udf-32b-1 * TCAM profile that includes the UDF qualifiers for IPv6 tunnels, but removes support for VXLAN and PBR: hardware tcam profile test1 copy default feature acl port mac no key size limit no key field src-mac dst-mac key field udf-16b-1 udf-16b-2 udf-32b-1 udf-32b-2 udf-32b-3 udf-32b-4 no feature tunnel vxlan no feature tunnel vxlan routing no feature pbr ip no feature pbr ipv6 Please contact Arista TAC if further assistance is needed with TCAM profile construction.
ACL to permit VXLAN v4 Decap only This MAC ACL uses UDF to match on VXLAN packets as follows: (a) IP next protocol = UDP (0x11) (b) IP DIP = VXLAN VTEP IP (say 0xXXXXXXXX - converted in hex) (c) UDP destination port = VXLAN UDP Port (0x12b5) It allows VXLAN packets and drops all other packets to the VXLAN Decap IP. mac access-list payload alias ip-next-protocol-udp offset 2 pattern 0x00110000 mask 0xff00ffff mac access-list payload alias ip-dip-decap-ip offset 4 pattern 0xXXXXXXXX mask 0x00000000 mac access-list payload alias udp-dport-vxlan offset 5 pattern 0x000012b5 mask 0xffff0000 mac access-list foo counters per-entry 1 permit any any ip payload alias ip-next-protocol-udp alias ip-dip-decap-ip alias udp-dport-vxlan 2 deny any any ip payload alias ip-dip-decap-ip 3 permit any any ACL to permit GREv4 Decap Only This MAC ACL uses UDF to match on GRE packets as follows: (a) IP next protocol = GRE (0x2f) (b) IP DIP = GRE Decap IP (say 0xXXXXXXXX - converted in hex) It allows GRE packets and drops all other packets to the GRE Decap IP. mac access-list payload alias ip-next-protocol-gre offset 2 pattern 0x002f0000 mask 0xff00ffff mac access-list payload alias ip-dip-decap-ip offset 4 pattern 0xXXXXXXXX mask 0x00000000 mac access-list foo counters per-entry 1 permit any any ip payload alias ip-next-protocol-gre alias ip-dip-decap-ip 2 deny any any ip payload alias ip-dip-decap-ip 3 permit any any If needed, the ACL can also be tweaked to match on specific GRE payloads as follows: IPv4oGRE ACL also matches on GRE next protocol = IPv4 (0x0800) mac access-list payload alias gre-protocol-ipv4 offset 5 pattern 0x00000800 mask 0xffff0000 mac access-list foo counters per-entry 1 permit any any ip payload alias ip-next-protocol-gre alias ip-dip-decap-ip alias gre-protocol-ipv4 2 deny any any ip payload alias ip-dip-decap-ip 3 permit any any IPv6oGRE ACL also matches on GRE next protocol = IPv6 (0x86dd) mac access-list payload alias gre-protocol-ipv6 offset 5 pattern 0x000086dd mask 0xffff0000 mac access-list foo counters per-entry 1 permit any any ip payload alias ip-next-protocol-gre alias ip-dip-decap-ip alias gre-protocol-ipv6 2 deny any any ip payload alias ip-dip-decap-ip 3 permit any any MPLSoGRE ACL also matches on GRE next protocol = MPLS (0x8847) mac access-list payload alias gre-protocol-mpls offset 5 pattern 0x00008847 mask 0xffff0000 mac access-list foo counters per-entry 1 permit any any ip payload alias ip-next-protocol-gre alias ip-dip-decap-ip alias gre-protocol-mpls 2 deny any any ip payload alias ip-dip-decap-ip 3 permit any any
ACL to permit IP-in-IPv4 Decap Only This MAC ACL uses UDF to match on IP-in-IP packets as follows: (a) IP next protocol = IPv4 (0x04) or IPv6 (0x29) (b) IP DIP = IP-in-IP Decap IP (say 0xXXXXXXXX - converted in hex) It allows IP-in-ip packets and drops all other packets to the IP-in-IP Decap IP. mac access-list payload alias ip-next-protocol-ipv4 offset 2 pattern 0x00040000 mask 0xff00ffff mac access-list payload alias ip-next-protocol-ipv6 offset 2 pattern 0x00290000 mask 0xff00ffff mac access-list payload alias ip-dip-decap-ip offset 4 pattern 0xXXXXXXXX mask 0x00000000 mac access-list foo counters per-entry 1 permit any any ip payload alias ip-next-protocol-ipv4 alias ip-dip-decap-ip 2 permit any any ip payload alias ip-next-protocol-ipv6 alias ip-dip-decap-ip 3 deny any any ip payload alias ip-dip-decap-ip 4 permit any any ACL to permit GUEv4 Decap Only This MAC ACL uses UDF to match on GUE packets as follows: (a) IP next protocol = UDP (0x11) (b) IP DIP = GUE Decap IP (say 0xXXXXXXXX - converted in hex) (c) UDP destination port = UDP port configured per payload (say UDP port for IP payload = 0xYYYY or UDP port for MPLS payload = 0xZZZZ - converted in hex) It allows GUE packets and drops all other packets to the GUE Decap IP. mac access-list payload alias ip-next-protocol-udp offset 2 pattern 0x00110000 mask 0xff00ffff mac access-list payload alias ip-dip-decap-ip offset 4 pattern 0xXXXXXXXX mask 0x00000000 mac access-list payload alias udp-dport-gue-ip offset 5 pattern 0x0000YYYY mask 0xffff0000 mac access-list payload alias udp-dport-gue-mpls offset 5 pattern 0x0000ZZZZ mask 0xffff0000 mac access-list foo 1 permit any any ip payload alias ip-next-protocol-udp alias ip-dip-decap-ip alias udp-dport-gue-mpls 2 permit any any ip payload alias ip-next-protocol-udp alias ip-dip-decap-ip alias udp-dport-gue-ip 3 deny any any ip payload alias ip-dip-decap-ip 4 permit any any ACL to permit GUEv6 Decap Only This MAC ACL uses UDF to match on GUE packets as follows: (a) IP next protocol = UDP (0x11) (b) IPv6 DIP = GUE Decap IP (say 0xAAAAAAAABBBBBBBBCCCCCCCCDDDDDDDD - converted in hex) (c) UDP destination port = UDP port configured per payload (say UDP port for IP payload = 0xYYYY or UDP port for MPLS payload = 0xZZZZ - converted in hex) It allows GUE packets and drops all other packets to the GUE Decap IP. mac access-list payload alias ipv6-next-protocol-udp offset 1 pattern 0x00001100 mask 0xffff00ff mac access-list payload alias udp-dport-gue-ip offset 10 pattern 0x0000YYYY mask 0xffff0000 mac access-list payload alias udp-dport-gue-mpls offset 10 pattern 0x0000ZZZZ mask 0xffff0000 mac access-list payload alias ipv6-dip-decap-ip1 offset 6 pattern 0xAAAAAAAA mask 0 mac access-list payload alias ipv6-dip-decap-ip2 offset 7 pattern 0xBBBBBBBB mask 0 mac access-list payload alias ipv6-dip-decap-ip3 offset 8 pattern 0xCCCCCCCC mask 0 mac access-list payload alias ipv6-dip-decap-ip4 offset 9 pattern 0xDDDDDDDD mask 0 mac access-list foo counters per-entry 1 permit any any ipv6 payload alias ipv6-next-protocol-udp alias ipv6-dip-decap-ip1 alias ipv6-dip-decap-ip2 alias ipv6-dip-decap-ip3 alias ipv6-dip-decap-ip4 alias udp-dport-gue-ip 2 permit any any ipv6 payload alias ipv6-next-protocol-udp alias ipv6-dip-decap-ip1 alias ipv6-dip-decap-ip2 alias ipv6-dip-decap-ip3 alias ipv6-dip-decap-ip4 alias udp-dport-gue-mpls 3 deny any any ipv6 payload alias ipv6-dip-decap-ip1 alias ipv6-dip-decap-ip2 alias ipv6-dip-decap-ip3 alias ipv6-dip-decap-ip4 4 permit any any
ACL to permit IP-in-IPv6 Decap Only The MAC ACL uses UDF to match on IP-in-IPv6 packets as follows: (a) IP next protocol = IPv4 (4) or IPv6 (41) (b) IPv6 DIP = IP-in-IP Decap IP (say 0xAAAAAAAABBBBBBBBCCCCCCCCDDDDDDDD - converted in hex) It allows IP-in-ip packets and drops all other packets to the IP-in-IP Decap IP. mac access-list payload alias ipv6-next-protocol-ipv4 offset 1 pattern 0x00000400 mask 0xffff00ff mac access-list payload alias ipv6-next-protocol-ipv6 offset 1 pattern 0x00002900 mask 0xffff00ff mac access-list payload alias ipv6-dip-decap-ip1 offset 6 pattern 0xAAAAAAAA mask 0 mac access-list payload alias ipv6-dip-decap-ip2 offset 7 pattern 0xBBBBBBBB mask 0 mac access-list payload alias ipv6-dip-decap-ip3 offset 8 pattern 0xCCCCCCCC mask 0 mac access-list payload alias ipv6-dip-decap-ip4 offset 9 pattern 0xDDDDDDDD mask 0 mac access-list foo counters per-entry 1 permit any any ipv6 payload alias ipv6-next-protocol-ipv4 alias ipv6-dip-decap-ip1 alias ipv6-dip-decap-ip2 alias ipv6-dip-decap-ip3 alias ipv6-dip-decap-ip4 2 permit any any ipv6 payload alias ipv6-next-protocol-ipv6 alias ipv6-dip-decap-ip1 alias ipv6-dip-decap-ip2 alias ipv6-dip-decap-ip3 alias ipv6-dip-decap-ip4 3 deny any any ipv6 payload alias ipv6-dip-decap-ip1 alias ipv6-dip-decap-ip2 alias ipv6-dip-decap-ip3 alias ipv6-dip-decap-ip4 4 permit any any 7280R3 Series, 7500R3 Series, and 7800R3 Series Mitigation involves using IPv6 PACLs to allow specific expected protocol packets and block all other traffic to the configured decap IPs. This requires the following TCAM profile update with the specified packet types: hardware tcam profile test feature acl port ipv6 packet ipv6 ipv4 forwarding routed decap packet ipv6 ipv6 forwarding routed decap packet ipv6 gue ipv4 forwarding routed decap packet ipv6 gue ipv6 forwarding routed decap packet ipv6 gue mpls forwarding mpls decap Note that introducing new packet types might also require specifying them under other features such as “acl vlan” or “qos ipv6”. Please reach out, if further assistance is needed with TCAM profile construction. ACL to Permit GUEv6 Only This IPv6 ACL matches on GUE packets as follows: (a) IP next protocol = UDP (0x11) (b) IP DIP = GUE Decap IP (c) UDP destination port = UDP port configured per payload (IP = Y or MPLS = Z) It allows GUE packets and drops all other packets to the GUE Decap IP. ipv6 access-list foo counters per-entry 1 permit udp any host <decap-ip> eq Y 2 permit udp any host <decap-ip> eq Z 3 deny ipv6 any host <decap-ip> 4 permit ipv6 any any ACL to Permit IP-in-IPv6 Only This IPv6 ACL matches on IP-in-IPv6 packets as follows: (a) IP next protocol = IPv4 (4) or IPv6 (41) (b) IP DIP = IP-in-IP Decap IP It allows IP-in-IPv6 packets and drops all other packets to the IP-in-IPv6 Decap IP. ipv6 access-list foo counters per-entry 1 permit 4 any host <decap-ip> 2 permit 41 any host <decap-ip> 3 deny ipv6 any host <decap-ip> 4 permit ipv6 any any
| Event | Date |
|---|
| Hyperlink | Resource |
|---|---|
| https://www.arista.com/en/support/advisories-notices/security-advisory/22872-security-advisory-0137 | vendor-advisory |
On affected platforms running Arista EOS where a tunnel decapsulation configuration—such as VXLAN (Virtual Extensible LAN), decap-groups, or a GRE (Generic Routing Encapsulation) tunnel interface—is present, the switch will incorrectly decapsulate and forward other unexpected tunneled packet with a destination IP matching its configured decapsulation IP. This occurs because the switch does not verify the tunnel protocol type, potentially leading to the unexpected processing of non-configured tunnel traffic. This issue has been reported as being exploited in the wild.
| Date Added | Due Date | Vulnerability Name | Required Action |
|---|---|---|---|
| N/A |
| Type | Version | Base score | Base severity | Vector |
|---|---|---|---|---|
| Secondary | 4.0 | 6.9 | MEDIUM | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
| Secondary | 3.1 | 5.8 | MEDIUM | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N |
| Hyperlink | Source | Resource |
|---|---|---|
| https://www.arista.com/en/support/advisories-notices/security-advisory/22872-security-advisory-0137 | psirt@arista.com | N/A |
This advisory documents the impact of an internally found vulnerability in Arista EOS for security ACL bypass. The impact of this vulnerability is that the security ACL drop rule might be bypassed if a NAT ACL rule filter with permit action matches the packet flow. This could allow a host with an IP address in a range that matches the range allowed by a NAT ACL and a range denied by a Security ACL to be forwarded incorrectly as it should have been denied by the Security ACL. This can enable an ACL bypass.