{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-7473","assignerOrgId":"c8b34d1a-69ae-45c3-88fe-f3b3d44f39b7","state":"PUBLISHED","assignerShortName":"Arista","dateReserved":"2026-04-29T20:08:22.118Z","datePublished":"2026-06-05T16:22:47.989Z","dateUpdated":"2026-06-05T16:22:47.989Z"},"containers":{"cna":{"providerMetadata":{"orgId":"c8b34d1a-69ae-45c3-88fe-f3b3d44f39b7","shortName":"Arista","dateUpdated":"2026-06-05T16:22:47.989Z"},"title":"Arista EOS Unexpected Tunnel Protocol Decapsulation and Forwarding Bypass","datePublic":"2026-05-05T00:00:00.000Z","problemTypes":[{"descriptions":[{"lang":"en","cweId":"CWE-1023","description":"CWE-1023: Incomplete Comparison with Missing Factors","type":"CWE"}]}],"impacts":[{"capecId":"CAPEC-272","descriptions":[{"lang":"en","value":"CAPEC-272 Protocol Abuse"}]}],"affected":[{"vendor":"Arista Networks","product":"EOS","platforms":["7020R Series","7280R/R2 Series","7500R/R2 Series","7280R3 Series (Limited exposure: IP-in-IPv6 and GUEv6)","7500R3 Series (Limited exposure: IP-in-IPv6 and GUEv6)","7800R3 Series (Limited exposure: IP-in-IPv6 and GUEv6)"],"versions":[{"status":"affected","version":"4.36.0","versionType":"custom"},{"status":"affected","version":"4.35.0","lessThanOrEqual":"4.35","versionType":"custom"},{"status":"affected","version":"4.34.0","lessThanOrEqual":"4.34","versionType":"custom"},{"status":"affected","version":"4.33.0","lessThanOrEqual":"4.33","versionType":"custom"},{"status":"affected","version":"4.32.0","lessThanOrEqual":"4.32","versionType":"custom"},{"status":"affected","version":"4.31.0","lessThanOrEqual":"4.31","versionType":"custom"},{"status":"affected","version":"*","lessThanOrEqual":"4.30","versionType":"custom"}],"defaultStatus":"affected"}],"descriptions":[{"lang":"en","value":"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.\n\n\n\nThis issue has been reported as being exploited in the wild.","supportingMedia":[{"type":"text/html","base64":false,"value":"<p>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.</p><p>This issue has been reported as being exploited in the wild.</p>"}]}],"references":[{"url":"https://www.arista.com/en/support/advisories-notices/security-advisory/22872-security-advisory-0137","tags":["vendor-advisory"]}],"configurations":[{"lang":"en","value":"In order to be vulnerable to CVE-2026-7473, the following condition must be met:\n\n\n\nThe 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.\n\n\n\nA 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.\n\nNote on Platforms:\n\n  *  All scenarios below apply to 7020R Series, 7280R/R2 Series, and 7500R/R2 Series.\n  *  Only the IP-in-IPv6 and GUE IPV6 Decap Group scenarios apply to 7280R3 Series, 7500R3 Series, and 7800R3 Series.\n\n\nConfigured 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","supportingMedia":[{"type":"text/html","base64":false,"value":"<p>In order to be vulnerable to CVE-2026-7473, the following condition must be met:</p><p>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.</p><p>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.</p><div><b>Note on Platforms:</b></div><ul><li>All scenarios below apply to 7020R Series, 7280R/R2 Series, and 7500R/R2 Series.</li><li>Only the IP-in-IPv6 and GUE IPV6 Decap Group scenarios apply to 7280R3 Series, 7500R3 Series, and 7800R3 Series.</li></ul><div><table><tbody><tr><th>Configured decapsulation tunnel type</th><th>Unexpected decapsulation of tunnel type traffic to configured decap IP</th><th>Additional configurations required for exploitation</th></tr><tr><td rowspan=\"2\">VXLAN IPv4 Tunnel Interface</td><td>GRE, IPoIP</td><td>None</td></tr><tr><td>NVGRE</td><td>TNI in NVGRE packet must match a VXLAN VNI configured on switch</td></tr><tr><td rowspan=\"3\">GRE IPv4 Tunnel Interface</td><td>VXLAN</td><td>VXLAN Tunnel Interface (VTI) and VNI mapping must be configured</td></tr><tr><td>Generic UDP Encapsulation (GUE)</td><td>GUE Decap Group and relevant UDP destination port to payload mapping must be configured. Both source and destination IP must match GRE tunnel configuration.</td></tr><tr><td>IPoIP</td><td>Both source and destination IP must match GRE tunnel configuration.</td></tr><tr><td rowspan=\"4\">GRE IPv4 Decap Group</td><td>IPoIP</td><td>None</td></tr><tr><td>VXLAN</td><td>VXLAN Tunnel Interface (VTI) and VNI mapping must be configured</td></tr><tr><td>GUE</td><td>GUE Decap Group and relevant UDP destination port to payload mapping must be configured.</td></tr><tr><td>NVGRE</td><td>VXLAN Tunnel Interface (VTI) must be configured. TNI in NVGRE packet must match a VXLAN VNI configured on switch.</td></tr><tr><td>GUE IPv4 Decap Group</td><td>GRE, IPoIP</td><td>None</td></tr><tr><td rowspan=\"4\">IP-in-IPv4 Decap Group</td><td>GRE</td><td>None</td></tr><tr><td>NVGRE</td><td>VXLAN Tunnel Interface (VTI) must be configured. TNI in NVGRE packet must match a VNI configured on switch.</td></tr><tr><td>VXLAN</td><td>VXLAN Tunnel Interface (VTI) and VNI mapping must be configured</td></tr><tr><td>GUE</td><td>GUE Decap Group and relevant UDP destination port to payload mapping must be configured.</td></tr><tr><td rowspan=\"2\">IP-in-IPv6 Decap Group</td><td>GREv6</td><td>None</td></tr><tr><td>GUEv6</td><td>GUE Decap Group and relevant UDP destination port to payload mapping must be configured.</td></tr><tr><td>GUE IPv6 Decap Group</td><td>IP-in-IPv6, GREv6</td><td>None</td></tr></tbody></table></div><p><br></p>"}]},{"lang":"en","value":"To check if the device is acting as a VXLAN VTEP:\n\n\n\nswitch>show interfaces vxlan 1\n Vxlan1 is up, line protocol is up (connected)\n   Source interface is Loopback1 and is active with 10.0.0.1\n   Listening on UDP port 4789\n   ...\n\n\n \n\n\n\nIf 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.\n\n\n\nTo check if a GRE tunnel interface is configured:\n\n\n\nswitch>show interfaces Tunnel0\n Tunnel0 is up, line protocol is up\n   Hardware is Tunnel\n   Tunnel source 1.1.1.1, destination 1.1.1.2\n   Tunnel protocol/transport GRE/IP\n   ...\n\n\n \n\n\n\nIf the tunnel interface is up with a source and destination, the device is a GRE tunnel endpoint and is potentially impacted.\n\n\n\nTo check if decap-groups are configured:\n\n\n\nswitch>show ip decap-group\n\n\n \n\n\n\nIf 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.","supportingMedia":[{"type":"text/html","base64":false,"value":"<p>To check if the device is acting as a VXLAN VTEP:</p><pre>switch&gt;show interfaces vxlan 1\n&nbsp;Vxlan1 is up, line protocol is up (connected)\n&nbsp;&nbsp;&nbsp;Source interface is Loopback1 and is active with 10.0.0.1\n&nbsp;&nbsp;&nbsp;Listening on UDP port 4789\n&nbsp;&nbsp;&nbsp;...\n</pre><div>&nbsp;</div><p>If the output contains “<b>Source interface is &lt;interface&gt; and is active with &lt;IP&gt;</b>”, the device is acting as a VXLAN VTEP with &lt;IP&gt; as the tunnel termination address, and is potentially impacted.</p><p>To check if a GRE tunnel interface is configured:</p><pre>switch&gt;show interfaces Tunnel0\n&nbsp;Tunnel0 is up, line protocol is up\n&nbsp;&nbsp;&nbsp;Hardware is Tunnel\n&nbsp;&nbsp;&nbsp;Tunnel source 1.1.1.1, destination 1.1.1.2\n&nbsp;&nbsp;&nbsp;Tunnel protocol/transport GRE/IP\n&nbsp;&nbsp;&nbsp;...\n</pre><div>&nbsp;</div><p>If the tunnel interface is up with a source and destination, the device is a GRE tunnel endpoint and is potentially impacted.</p><p>To check if decap-groups are configured:</p><pre>switch&gt;show ip decap-group\n</pre><div>&nbsp;</div><p>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.</p>"}]}],"workarounds":[{"lang":"en","value":"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 .\n\n\n\nA 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.\n\n\n\nThe 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 .","supportingMedia":[{"type":"text/html","base64":false,"value":"<p>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&nbsp;<a href=\"https://www.arista.com/en/um-eos/eos-acls-and-route-maps#xx1150869\" target=\"_blank\" rel=\"noopener noreferrer\">Arista User Manual</a>.</p><p>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.</p><p>The following configurations align with the recommendations outlined in the&nbsp;<a href=\"https://arista.my.site.com/AristaCommunity/s/article/arista-eos-hardening-guide#Comm_Kna_ka0Uw00000097VJIAY_71\" target=\"_blank\" rel=\"noopener noreferrer\">Arista EOS Hardening Guide</a>.</p>"}]},{"lang":"en","value":"Approach 1 - Applying ACL on Upstream Switches\n\nOn 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.\n\n\n\nExample ACLs for Arista EOS follows.\n\nACL to permit VXLANv4 Only\n\nThis IPv4 ACL matches on VXLAN packets as follows:\n(a) IP next protocol = UDP (17)\n(b) IP DIP = VXLAN VTEP IP\n(c) UDP destination port = VXLAN UDP Port (4789)\n\n\n\nIt allows VXLAN packets and drops all other packets to the VXLAN Decap IP.\n\n\n\nip access-list foo\n   counters per-entry\n   1 permit udp any host <vxlan-decap-ip> eq 4789\n   2 deny ip any host <decap-ip>\n   3 permit ip any any\n\n\n \n\nACL to permit GREv4 Only\n\nThis IPv4 ACL matches on GRE packets as follows:\n(a) IP next protocol = GRE (47)\n(b) IP DIP = GRE Tunnel Destination IP\n\n\n\nIt allows GRE packets and drops all other packets to the GRE Decap IP.\n\n\n\nip access-list foo\n   counters per-entry\n   1 permit gre any host <gre-decap-ip>\n   2 deny ip any host <gre-decap-ip>\n   3 permit any any\n\n\n \n\nACL to permit IP-in-IPv4 Only\n\nThis IPv4 ACL matches on IP-in-IPv4 packets as follows:\n(a) IP next protocol = IPv4 (4) or IPv6 (41)\n(b) IP DIP = IP-in-IP Decap IP\n\n\n\nIt allows IP-in-IPv4 packets and drops all other packets to the IP-in-IPv4 Decap IP.\n\n\n\nip access-list foo\n   counters per-entry\n   1 permit 4 any host <ipip-decap-ip>\n   2 permit 41 any host <ipip-decap-ip>\n   3 deny ip any host <ipip-decap-ip>\n   4 permit any any\n\n\n \n\nACL to Permit IP-in-IPv6 Only\n\nThis IPv6 ACL matches on IP-in-IPv6 packets as follows:\n(a) IP next protocol = IPv4 (4) or IPv6 (41)\n(b) IP DIP = IP-in-IP Decap IP\n\n\n\nIt allows IP-in-IPv6 packets and drops all other packets to the IP-in-IPv6 Decap IP.\n\n\n\nipv6 access-list foo\n   counters per-entry\n   1 permit 4 any host <ipip-decap-ip>\n   2 permit 41 any host <ipip-decap-ip>\n   3 deny ipv6 any host <ipip-decap-ip>\n   4 permit ipv6 any any\n\n\n \n\nACL to permit GUEv4 Only\n\nThis IPv4 ACL matches on GUE packets as follows:\n(a) IP next protocol = UDP (17)\n(b) IP DIP = GUE Decap IP\n(c) UDP destination port = UDP port configured per payload\n       (IP = Y or MPLS = Z)\n\n\n\nIt allows GUE packets and drops all other packets to the GUE Decap IP.\n\n\n\nip access-list foo\n   counters per-entry\n   1 permit udp any host <decap-ip> eq Y\n   2 permit udp any host <decap-ip> eq Z\n   3 deny ip any host <decap-ip>\n   4 permit ip any any\n\n\n \n\nACL to Permit GUEv6 Only\n\nThis IPv6 ACL matches on GUE packets as follows:\n(a) IP next protocol = UDP (17)\n(b) IP DIP = GUE Decap IP\n(c) UDP destination port = UDP port configured per payload\n       (IP = Y or MPLS = Z)\n\n\n\nIt allows GUE packets and drops all other packets to the GUE Decap IP.\n\n\n\nipv6 access-list foo\n   counters per-entry\n   1 permit udp any host <decap-ip> eq Y\n   2 permit udp any host <decap-ip> eq Z\n   3 deny ipv6 any host <decap-ip>\n   4 permit ipv6 any any","supportingMedia":[{"type":"text/html","base64":false,"value":"<h3>Approach 1 - Applying ACL on Upstream Switches</h3><p>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.</p><p>Example ACLs for Arista EOS follows.</p>ACL to permit VXLANv4 Only<p>This IPv4 ACL matches on VXLAN packets as follows:<br>(a) IP next protocol = UDP (17)<br>(b) IP DIP = VXLAN VTEP IP<br>(c) UDP destination port = VXLAN UDP Port (4789)</p><p>It allows VXLAN packets and drops all other packets to the VXLAN Decap IP.</p><pre>ip access-list foo\n&nbsp;&nbsp;&nbsp;counters per-entry\n&nbsp;&nbsp;&nbsp;1 permit udp any host &lt;vxlan-decap-ip&gt; eq 4789\n&nbsp;&nbsp;&nbsp;2 deny ip any host &lt;decap-ip&gt;\n&nbsp;&nbsp;&nbsp;3 permit ip any any\n</pre><div>&nbsp;</div>ACL to permit GREv4 Only<p>This IPv4 ACL matches on GRE packets as follows:<br>(a) IP next protocol = GRE (47)<br>(b) IP DIP = GRE Tunnel Destination IP</p><p>It allows GRE packets and drops all other packets to the GRE Decap IP.</p><pre>ip access-list foo\n&nbsp;&nbsp;&nbsp;counters per-entry\n&nbsp;&nbsp;&nbsp;1 permit gre any host &lt;gre-decap-ip&gt;\n&nbsp;&nbsp;&nbsp;2 deny ip any host &lt;gre-decap-ip&gt;\n&nbsp;&nbsp;&nbsp;3 permit any any\n</pre><div>&nbsp;</div>ACL to permit IP-in-IPv4 Only<p>This IPv4 ACL matches on IP-in-IPv4 packets as follows:<br>(a) IP next protocol = IPv4 (4) or IPv6 (41)<br>(b) IP DIP = IP-in-IP Decap IP</p><p>It allows IP-in-IPv4 packets and drops all other packets to the IP-in-IPv4 Decap IP.</p><pre>ip access-list foo\n&nbsp;&nbsp;&nbsp;counters per-entry\n&nbsp;&nbsp;&nbsp;1 permit 4 any host &lt;ipip-decap-ip&gt;\n&nbsp;&nbsp;&nbsp;2 permit 41 any host &lt;ipip-decap-ip&gt;\n&nbsp;&nbsp;&nbsp;3 deny ip any host &lt;ipip-decap-ip&gt;\n&nbsp;&nbsp;&nbsp;4 permit any any\n</pre><div>&nbsp;</div>ACL to Permit IP-in-IPv6 Only<p>This IPv6 ACL matches on IP-in-IPv6 packets as follows:<br>(a) IP next protocol = IPv4 (4) or IPv6 (41)<br>(b) IP DIP = IP-in-IP Decap IP</p><p>It allows IP-in-IPv6 packets and drops all other packets to the IP-in-IPv6 Decap IP.</p><pre>ipv6 access-list foo\n&nbsp;&nbsp;&nbsp;counters per-entry\n&nbsp;&nbsp;&nbsp;1 permit 4 any host &lt;ipip-decap-ip&gt;\n&nbsp;&nbsp;&nbsp;2 permit 41 any host &lt;ipip-decap-ip&gt;\n&nbsp;&nbsp;&nbsp;3 deny ipv6 any host &lt;ipip-decap-ip&gt;\n&nbsp;&nbsp;&nbsp;4 permit ipv6 any any\n</pre><div>&nbsp;</div>ACL to permit GUEv4 Only<p>This IPv4 ACL matches on GUE packets as follows:<br>(a) IP next protocol = UDP (17)<br>(b) IP DIP = GUE Decap IP<br>(c) UDP destination port = UDP port configured per payload<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;(IP = Y or MPLS = Z)</p><p>It allows GUE packets and drops all other packets to the GUE Decap IP.</p><pre>ip access-list foo\n&nbsp;&nbsp;&nbsp;counters per-entry\n&nbsp;&nbsp;&nbsp;1 permit udp any host &lt;decap-ip&gt; eq Y\n&nbsp;&nbsp;&nbsp;2 permit udp any host &lt;decap-ip&gt; eq Z\n&nbsp;&nbsp;&nbsp;3 deny ip any host &lt;decap-ip&gt;\n&nbsp;&nbsp;&nbsp;4 permit ip any any\n</pre><div>&nbsp;</div>ACL to Permit GUEv6 Only<p>This IPv6 ACL matches on GUE packets as follows:<br>(a) IP next protocol = UDP (17)<br>(b) IP DIP = GUE Decap IP<br>(c) UDP destination port = UDP port configured per payload<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (IP = Y or MPLS = Z)</p><p>It allows GUE packets and drops all other packets to the GUE Decap IP.</p><pre>ipv6 access-list foo\n&nbsp;&nbsp;&nbsp;counters per-entry\n&nbsp;&nbsp;&nbsp;1 permit udp any host &lt;decap-ip&gt; eq Y\n&nbsp;&nbsp;&nbsp;2 permit udp any host &lt;decap-ip&gt; eq Z\n&nbsp;&nbsp;&nbsp;3 deny ipv6 any host &lt;decap-ip&gt;\n&nbsp;&nbsp;&nbsp;4 permit ipv6 any any</pre>"}]},{"lang":"en","value":"Approach 2 - Applying ACL on Decapsulation Switches\n\nApplying 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 .\n\n7020R Series, 7280R/R2 Series, and 7500R/R2 Series\n\nMitigation 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:\n\n  *  For IPv4 tunnels, 2 16b and 1 32b UDF qualifiers need to be included.\n  *  For IPv6 tunnels, 2 16b and 4 32b UDF qualifiers need to be included.\n\n\nHowever, 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:\n\n  *  TCAM profile that includes the UDF qualifiers for IPv4 tunnels, but removes support for MPLS:\n\n\nhardware tcam\n   profile test copy default\n      feature acl port mac\n         no key size limit \n         key field udf-16b-1 udf-16b-2 udf-32b-1\n      no feature mpls\n      no feature mpls pop ingress\n      no feature pbr mpls\n\n\n \n\n \n  *  TCAM profile that includes the UDF qualifiers for IPv4 tunnels, but removes support for VXLAN:\n\n\nhardware tcam\n   profile test copy default\n      feature acl port mac\n         no key field src-mac\n         key field udf-16b-1 udf-16b-2 udf-32b-1\n\n\n \n\n  \n  *  TCAM profile that includes the UDF qualifiers for IPv6 tunnels, but removes support for VXLAN and PBR:\n\n\nhardware tcam\n   profile test1 copy default\n      feature acl port mac\n         no key size limit\n         no key field src-mac dst-mac\n         key field udf-16b-1 udf-16b-2 udf-32b-1 udf-32b-2 udf-32b-3 udf-32b-4\n      no feature tunnel vxlan\n      no feature tunnel vxlan routing\n      no feature pbr ip\n      no feature pbr ipv6\n\n\n\n \n\n\n\nPlease contact Arista TAC if further assistance is needed with TCAM profile construction.","supportingMedia":[{"type":"text/html","base64":false,"value":"<h3>Approach 2 - Applying ACL on Decapsulation Switches</h3><p>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&nbsp;<a href=\"https://www.arista.com/en/support/toi/eos-4-26-0f/14755-user-defined-tcam-profiles\" target=\"_blank\" rel=\"noopener noreferrer\">User-defined TCAM Profiles</a>.</p>7020R Series, 7280R/R2 Series, and 7500R/R2 Series<p>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:</p><ol><li>For IPv4 tunnels, 2 16b and 1 32b UDF qualifiers need to be included.</li><li>For IPv6 tunnels, 2 16b and 4 32b UDF qualifiers need to be included.</li></ol><p>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:</p><ol><li>TCAM profile that includes the UDF qualifiers for IPv4 tunnels, but removes support for MPLS:<br><pre>hardware tcam\n&nbsp;&nbsp;&nbsp;profile test copy default\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;feature acl port mac\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;no key size limit&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;key field udf-16b-1 udf-16b-2 udf-32b-1\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;no feature mpls\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;no feature mpls pop ingress\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;no feature pbr mpls\n</pre><div>&nbsp;</div>&nbsp;</li><li>TCAM profile that includes the UDF qualifiers for IPv4 tunnels, but removes support for VXLAN:<br><pre>hardware tcam\n&nbsp;&nbsp;&nbsp;profile test copy default\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;feature acl port mac\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;no key field src-mac\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;key field udf-16b-1 udf-16b-2 udf-32b-1\n</pre><div>&nbsp;</div>&nbsp;&nbsp;</li><li>TCAM profile that includes the UDF qualifiers for IPv6 tunnels, but removes support for VXLAN and PBR:<br><pre>hardware tcam\n&nbsp;&nbsp;&nbsp;profile test1 copy default\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;feature acl port mac\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;no key size limit\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;no key field src-mac dst-mac\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;key field udf-16b-1 udf-16b-2 udf-32b-1 udf-32b-2 udf-32b-3 udf-32b-4\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;no feature tunnel vxlan\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;no feature tunnel vxlan routing\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;no feature pbr ip\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;no feature pbr ipv6\n</pre></li></ol><div>&nbsp;</div><p>Please contact Arista TAC if further assistance is needed with TCAM profile construction.</p>"}]},{"lang":"en","value":"ACL to permit VXLAN v4 Decap only\n\nThis MAC ACL uses UDF to match on VXLAN packets as follows:\n(a) IP next protocol = UDP (0x11)\n(b) IP DIP = VXLAN VTEP IP (say 0xXXXXXXXX - converted in hex)\n(c) UDP destination port = VXLAN UDP Port (0x12b5)\n\n\n\nIt allows VXLAN packets and drops all other packets to the VXLAN Decap IP.\n\n\n\nmac access-list payload alias ip-next-protocol-udp offset 2 pattern 0x00110000 mask 0xff00ffff\n \nmac access-list payload alias ip-dip-decap-ip offset 4 pattern 0xXXXXXXXX mask 0x00000000\n    \nmac access-list payload alias udp-dport-vxlan offset 5 pattern 0x000012b5 mask 0xffff0000\n    \nmac access-list foo\n   counters per-entry\n   1 permit any any ip payload alias ip-next-protocol-udp alias ip-dip-decap-ip alias udp-dport-vxlan\n   2 deny any any ip payload alias ip-dip-decap-ip\n   3 permit any any\n\n\n \n\nACL to permit GREv4 Decap Only\n\nThis MAC ACL uses UDF to match on GRE packets as follows:\n(a) IP next protocol = GRE (0x2f)\n(b) IP DIP = GRE Decap IP (say 0xXXXXXXXX - converted in hex)\n\n\n\nIt allows GRE packets and drops all other packets to the GRE Decap IP.\n\n\n\nmac access-list payload alias ip-next-protocol-gre offset 2 pattern 0x002f0000 mask 0xff00ffff\n \nmac access-list payload alias ip-dip-decap-ip offset 4 pattern 0xXXXXXXXX mask 0x00000000\n \nmac access-list foo\n   counters per-entry\n   1 permit any any ip payload alias ip-next-protocol-gre alias ip-dip-decap-ip\n   2 deny any any ip payload alias ip-dip-decap-ip\n   3 permit any any\n\n\n \n\n\n\nIf needed, the ACL can also be tweaked to match on specific GRE payloads as follows:\n\nIPv4oGRE\n\nACL also matches on GRE next protocol = IPv4 (0x0800)\n\n\n\nmac access-list payload alias gre-protocol-ipv4 offset 5 pattern 0x00000800 mask 0xffff0000\n \nmac access-list foo\n   counters per-entry\n   1 permit any any ip payload alias ip-next-protocol-gre alias ip-dip-decap-ip alias gre-protocol-ipv4\n   2 deny any any ip payload alias ip-dip-decap-ip\n   3 permit any any\n\n\n \n\nIPv6oGRE\n\nACL also matches on GRE next protocol = IPv6 (0x86dd)\n\n\n\nmac access-list payload alias gre-protocol-ipv6 offset 5 pattern 0x000086dd mask 0xffff0000\nmac access-list foo\n   counters per-entry\n   1 permit any any ip payload alias ip-next-protocol-gre alias ip-dip-decap-ip alias gre-protocol-ipv6\n   2 deny any any ip payload alias ip-dip-decap-ip\n   3 permit any any\n\n\n \n\nMPLSoGRE\n\nACL also matches on GRE next protocol = MPLS (0x8847)\n\n\n\nmac access-list payload alias gre-protocol-mpls offset 5 pattern 0x00008847 mask 0xffff0000\n \nmac access-list foo\n   counters per-entry\n   1 permit any any ip payload alias ip-next-protocol-gre alias ip-dip-decap-ip alias gre-protocol-mpls\n   2 deny any any ip payload alias ip-dip-decap-ip\n   3 permit any any","supportingMedia":[{"type":"text/html","base64":false,"value":"ACL to permit VXLAN v4 Decap only<p>This MAC ACL uses UDF to match on VXLAN packets as follows:<br>(a) IP next protocol = UDP (0x11)<br>(b) IP DIP = VXLAN VTEP IP (say 0xXXXXXXXX - converted in hex)<br>(c) UDP destination port = VXLAN UDP Port (0x12b5)</p><p>It allows VXLAN packets and drops all other packets to the VXLAN Decap IP.</p><pre>mac access-list payload alias ip-next-protocol-udp offset 2 pattern 0x00110000 mask 0xff00ffff\n \nmac access-list payload alias ip-dip-decap-ip offset 4 pattern 0xXXXXXXXX mask 0x00000000\n&nbsp;&nbsp;&nbsp;&nbsp;\nmac access-list payload alias udp-dport-vxlan offset 5 pattern 0x000012b5 mask 0xffff0000\n&nbsp;&nbsp;&nbsp;&nbsp;\nmac access-list foo\n&nbsp;&nbsp;&nbsp;counters per-entry\n&nbsp;&nbsp;&nbsp;1 permit any any ip payload alias ip-next-protocol-udp alias ip-dip-decap-ip alias udp-dport-vxlan\n&nbsp;&nbsp;&nbsp;2 deny any any ip payload alias ip-dip-decap-ip\n&nbsp;&nbsp;&nbsp;3 permit any any\n</pre><div>&nbsp;</div>ACL to permit GREv4 Decap Only<p>This MAC ACL uses UDF to match on GRE packets as follows:<br>(a) IP next protocol = GRE (0x2f)<br>(b) IP DIP = GRE Decap IP (say 0xXXXXXXXX - converted in hex)</p><p>It allows GRE packets and drops all other packets to the GRE Decap IP.</p><pre>mac access-list payload alias ip-next-protocol-gre offset 2 pattern 0x002f0000 mask 0xff00ffff\n \nmac access-list payload alias ip-dip-decap-ip offset 4 pattern 0xXXXXXXXX mask 0x00000000\n \nmac access-list foo\n&nbsp;&nbsp;&nbsp;counters per-entry\n&nbsp;&nbsp;&nbsp;1 permit any any ip payload alias ip-next-protocol-gre alias ip-dip-decap-ip\n&nbsp;&nbsp;&nbsp;2 deny any any ip payload alias ip-dip-decap-ip\n&nbsp;&nbsp;&nbsp;3 permit any any\n</pre><div>&nbsp;</div><p>If needed, the ACL can also be tweaked to match on specific GRE payloads as follows:</p><i>IPv4oGRE</i><p>ACL also matches on GRE next protocol = IPv4 (0x0800)</p><pre>mac access-list payload alias gre-protocol-ipv4 offset 5 pattern 0x00000800 mask 0xffff0000\n \nmac access-list foo\n&nbsp;&nbsp;&nbsp;counters per-entry\n&nbsp;&nbsp;&nbsp;1 permit any any ip payload alias ip-next-protocol-gre alias ip-dip-decap-ip alias gre-protocol-ipv4\n&nbsp;&nbsp;&nbsp;2 deny any any ip payload alias ip-dip-decap-ip\n&nbsp;&nbsp;&nbsp;3 permit any any\n</pre><div>&nbsp;</div><i>IPv6oGRE</i><p>ACL also matches on GRE next protocol = IPv6 (0x86dd)</p><pre>mac access-list payload alias gre-protocol-ipv6 offset 5 pattern 0x000086dd mask 0xffff0000\nmac access-list foo\n&nbsp;&nbsp;&nbsp;counters per-entry\n&nbsp;&nbsp;&nbsp;1 permit any any ip payload alias ip-next-protocol-gre alias ip-dip-decap-ip alias gre-protocol-ipv6\n&nbsp;&nbsp;&nbsp;2 deny any any ip payload alias ip-dip-decap-ip\n&nbsp;&nbsp;&nbsp;3 permit any any\n</pre><div>&nbsp;</div><i>MPLSoGRE</i><p>ACL also matches on GRE next protocol = MPLS (0x8847)</p><pre>mac access-list payload alias gre-protocol-mpls offset 5 pattern 0x00008847 mask 0xffff0000\n \nmac access-list foo\n&nbsp;&nbsp;&nbsp;counters per-entry\n&nbsp;&nbsp;&nbsp;1 permit any any ip payload alias ip-next-protocol-gre alias ip-dip-decap-ip alias gre-protocol-mpls\n&nbsp;&nbsp;&nbsp;2 deny any any ip payload alias ip-dip-decap-ip\n&nbsp;&nbsp;&nbsp;3 permit any any</pre>"}]},{"lang":"en","value":"ACL to permit IP-in-IPv4 Decap Only\n\nThis MAC ACL uses UDF to match on IP-in-IP packets as follows:\n(a) IP next protocol = IPv4 (0x04) or IPv6 (0x29)\n(b) IP DIP = IP-in-IP Decap IP (say 0xXXXXXXXX - converted in hex)\n\n\n\nIt allows IP-in-ip packets and drops all other packets to the IP-in-IP Decap IP.\n\n\n\nmac access-list payload alias ip-next-protocol-ipv4 offset 2 pattern 0x00040000 mask 0xff00ffff\n \nmac access-list payload alias ip-next-protocol-ipv6 offset 2 pattern 0x00290000 mask 0xff00ffff\n \nmac access-list payload alias ip-dip-decap-ip offset 4 pattern 0xXXXXXXXX mask 0x00000000\nmac access-list foo\n   counters per-entry\n   1 permit any any ip payload alias ip-next-protocol-ipv4 alias ip-dip-decap-ip \n   2 permit any any ip payload alias ip-next-protocol-ipv6 alias ip-dip-decap-ip\n   3 deny any any ip payload alias ip-dip-decap-ip\n   4 permit any any\n\n\n \n\nACL to permit GUEv4 Decap Only\n\nThis MAC ACL uses UDF to match on GUE packets as follows:\n(a) IP next protocol = UDP (0x11)\n(b) IP DIP = GUE Decap IP (say 0xXXXXXXXX - converted in hex)\n(c) UDP destination port = UDP port configured per payload\n      (say UDP port for IP payload = 0xYYYY or UDP port for MPLS payload = 0xZZZZ - converted in hex)\n\n\n\nIt allows GUE packets and drops all other packets to the GUE Decap IP.\n\n\n\nmac access-list payload alias ip-next-protocol-udp offset 2 pattern 0x00110000 mask 0xff00ffff\n \nmac access-list payload alias ip-dip-decap-ip offset 4 pattern 0xXXXXXXXX mask 0x00000000\n \nmac access-list payload alias udp-dport-gue-ip offset 5 pattern 0x0000YYYY mask 0xffff0000\n \nmac access-list payload alias udp-dport-gue-mpls offset 5 pattern 0x0000ZZZZ mask 0xffff0000\n \nmac access-list foo\n   1 permit any any ip payload alias ip-next-protocol-udp alias ip-dip-decap-ip alias udp-dport-gue-mpls\n   2 permit any any ip payload alias ip-next-protocol-udp alias ip-dip-decap-ip alias udp-dport-gue-ip\n   3 deny any any ip payload alias ip-dip-decap-ip\n   4 permit any any\n\n\n \n\nACL to permit GUEv6 Decap Only\n\nThis MAC ACL uses UDF to match on GUE packets as follows:\n(a) IP next protocol = UDP (0x11)\n(b) IPv6 DIP = GUE Decap IP (say 0xAAAAAAAABBBBBBBBCCCCCCCCDDDDDDDD - converted in hex)\n(c) UDP destination port = UDP port configured per payload\n      (say UDP port for IP payload = 0xYYYY or UDP port for MPLS payload = 0xZZZZ - converted in hex)\n\n\n\nIt allows GUE packets and drops all other packets to the GUE Decap IP.\n\n\n\nmac access-list payload alias ipv6-next-protocol-udp offset 1 pattern 0x00001100 mask 0xffff00ff\n \nmac access-list payload alias udp-dport-gue-ip offset 10 pattern 0x0000YYYY mask 0xffff0000\n \nmac access-list payload alias udp-dport-gue-mpls offset 10 pattern 0x0000ZZZZ mask 0xffff0000\n \nmac access-list payload alias ipv6-dip-decap-ip1 offset 6 pattern 0xAAAAAAAA mask 0\n \nmac access-list payload alias ipv6-dip-decap-ip2 offset 7 pattern 0xBBBBBBBB mask 0\n \nmac access-list payload alias ipv6-dip-decap-ip3 offset 8 pattern 0xCCCCCCCC mask 0\n \nmac access-list payload alias ipv6-dip-decap-ip4 offset 9 pattern 0xDDDDDDDD mask 0\n \nmac access-list foo\n   counters per-entry\n   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\n   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\n   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\n   4 permit any any","supportingMedia":[{"type":"text/html","base64":false,"value":"ACL to permit IP-in-IPv4 Decap Only<p>This MAC ACL uses UDF to match on IP-in-IP packets as follows:<br>(a) IP next protocol = IPv4 (0x04) or IPv6 (0x29)<br>(b) IP DIP = IP-in-IP Decap IP (say 0xXXXXXXXX - converted in hex)</p><p>It allows IP-in-ip packets and drops all other packets to the IP-in-IP Decap IP.</p><pre>mac access-list payload alias ip-next-protocol-ipv4 offset 2 pattern 0x00040000 mask 0xff00ffff\n \nmac access-list payload alias ip-next-protocol-ipv6 offset 2 pattern 0x00290000 mask 0xff00ffff\n \nmac access-list payload alias ip-dip-decap-ip offset 4 pattern 0xXXXXXXXX mask 0x00000000\nmac access-list foo\n&nbsp;&nbsp;&nbsp;counters per-entry\n&nbsp;&nbsp;&nbsp;1 permit any any ip payload alias ip-next-protocol-ipv4 alias ip-dip-decap-ip&nbsp;\n&nbsp;&nbsp;&nbsp;2 permit any any ip payload alias ip-next-protocol-ipv6 alias ip-dip-decap-ip\n&nbsp;&nbsp;&nbsp;3 deny any any ip payload alias ip-dip-decap-ip\n&nbsp;&nbsp;&nbsp;4 permit any any\n</pre><div>&nbsp;</div>ACL to permit GUEv4 Decap Only<p>This MAC ACL uses UDF to match on GUE packets as follows:<br>(a) IP next protocol = UDP (0x11)<br>(b) IP DIP = GUE Decap IP (say 0xXXXXXXXX - converted in hex)<br>(c) UDP destination port = UDP port configured per payload<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(say UDP port for IP payload = 0xYYYY or UDP port for MPLS payload = 0xZZZZ - converted in hex)</p><p>It allows GUE packets and drops all other packets to the GUE Decap IP.</p><pre>mac access-list payload alias ip-next-protocol-udp offset 2 pattern 0x00110000 mask 0xff00ffff\n \nmac access-list payload alias ip-dip-decap-ip offset 4 pattern 0xXXXXXXXX mask 0x00000000\n \nmac access-list payload alias udp-dport-gue-ip offset 5 pattern 0x0000YYYY mask 0xffff0000\n \nmac access-list payload alias udp-dport-gue-mpls offset 5 pattern 0x0000ZZZZ mask 0xffff0000\n \nmac access-list foo\n&nbsp;&nbsp;&nbsp;1 permit any any ip payload alias ip-next-protocol-udp alias ip-dip-decap-ip alias udp-dport-gue-mpls\n&nbsp;&nbsp;&nbsp;2 permit any any ip payload alias ip-next-protocol-udp alias ip-dip-decap-ip alias udp-dport-gue-ip\n&nbsp;&nbsp;&nbsp;3 deny any any ip payload alias ip-dip-decap-ip\n&nbsp;&nbsp;&nbsp;4 permit any any\n</pre><div>&nbsp;</div>ACL to permit GUEv6 Decap Only<p>This MAC ACL uses UDF to match on GUE packets as follows:<br>(a) IP next protocol = UDP (0x11)<br>(b) IPv6 DIP = GUE Decap IP (say 0xAAAAAAAABBBBBBBBCCCCCCCCDDDDDDDD - converted in hex)<br>(c) UDP destination port = UDP port configured per payload<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (say UDP port for IP payload = 0xYYYY or UDP port for MPLS payload = 0xZZZZ - converted in hex)</p><p>It allows GUE packets and drops all other packets to the GUE Decap IP.</p><pre>mac access-list payload alias ipv6-next-protocol-udp offset 1 pattern 0x00001100 mask 0xffff00ff\n \nmac access-list payload alias udp-dport-gue-ip offset 10 pattern 0x0000YYYY mask 0xffff0000\n \nmac access-list payload alias udp-dport-gue-mpls offset 10 pattern 0x0000ZZZZ mask 0xffff0000\n \nmac access-list payload alias ipv6-dip-decap-ip1 offset 6 pattern 0xAAAAAAAA mask 0\n \nmac access-list payload alias ipv6-dip-decap-ip2 offset 7 pattern 0xBBBBBBBB mask 0\n \nmac access-list payload alias ipv6-dip-decap-ip3 offset 8 pattern 0xCCCCCCCC mask 0\n \nmac access-list payload alias ipv6-dip-decap-ip4 offset 9 pattern 0xDDDDDDDD mask 0\n \nmac access-list foo\n&nbsp;&nbsp;&nbsp;counters per-entry\n&nbsp;&nbsp;&nbsp;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\n&nbsp;&nbsp;&nbsp;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\n&nbsp;&nbsp;&nbsp;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\n&nbsp;&nbsp;&nbsp;4 permit any any</pre>"}]},{"lang":"en","value":"ACL to permit IP-in-IPv6 Decap Only\n\nThe MAC ACL uses UDF to match on IP-in-IPv6 packets as follows:\n(a) IP next protocol = IPv4 (4) or IPv6 (41)\n(b) IPv6 DIP = IP-in-IP Decap IP (say 0xAAAAAAAABBBBBBBBCCCCCCCCDDDDDDDD - converted in hex)\n\n\n\nIt allows IP-in-ip packets and drops all other packets to the IP-in-IP Decap IP.\n\n\n\nmac access-list payload alias ipv6-next-protocol-ipv4 offset 1 pattern 0x00000400 mask 0xffff00ff\n \nmac access-list payload alias ipv6-next-protocol-ipv6 offset 1 pattern 0x00002900 mask 0xffff00ff\n \nmac access-list payload alias ipv6-dip-decap-ip1 offset 6 pattern 0xAAAAAAAA mask 0\n \nmac access-list payload alias ipv6-dip-decap-ip2 offset 7 pattern 0xBBBBBBBB mask 0\n \nmac access-list payload alias ipv6-dip-decap-ip3 offset 8 pattern 0xCCCCCCCC mask 0\n \nmac access-list payload alias ipv6-dip-decap-ip4 offset 9 pattern 0xDDDDDDDD mask 0\n \nmac access-list foo\n   counters per-entry\n   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\n   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\n   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\n   4 permit any any\n\n\n \n\n7280R3 Series, 7500R3 Series, and 7800R3 Series\n\nMitigation 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:\n\n\n\nhardware tcam\n   profile test\n      feature acl port ipv6\n         packet ipv6 ipv4 forwarding routed decap\n         packet ipv6 ipv6 forwarding routed decap\n         packet ipv6 gue ipv4 forwarding routed decap\n         packet ipv6 gue ipv6 forwarding routed decap\n         packet ipv6 gue mpls forwarding mpls decap\n\n\n \n\n\n\nNote 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.\n\nACL to Permit GUEv6 Only\n\nThis IPv6 ACL matches on GUE packets as follows:\n(a) IP next protocol = UDP (0x11)\n(b) IP DIP = GUE Decap IP\n(c) UDP destination port = UDP port configured per payload\n      (IP = Y or MPLS = Z)\n\n\n\nIt allows GUE packets and drops all other packets to the GUE Decap IP.\n\n\n\nipv6 access-list foo\n   counters per-entry\n   1 permit udp any host <decap-ip> eq Y\n   2 permit udp any host <decap-ip> eq Z\n   3 deny ipv6 any host <decap-ip>\n   4 permit ipv6 any any\n\n\n \n\nACL to Permit IP-in-IPv6 Only\n\nThis IPv6 ACL matches on IP-in-IPv6 packets as follows:\n(a) IP next protocol = IPv4 (4) or IPv6 (41)\n(b) IP DIP = IP-in-IP Decap IP\n\n\n\nIt allows IP-in-IPv6 packets and drops all other packets to the IP-in-IPv6 Decap IP.\n\n\n\nipv6 access-list foo\n   counters per-entry\n   1 permit 4 any host <decap-ip>\n   2 permit 41 any host <decap-ip>\n   3 deny ipv6 any host <decap-ip>\n   4 permit ipv6 any any","supportingMedia":[{"type":"text/html","base64":false,"value":"ACL to permit IP-in-IPv6 Decap Only<p>The MAC ACL uses UDF to match on IP-in-IPv6 packets as follows:<br>(a) IP next protocol = IPv4 (4) or IPv6 (41)<br>(b) IPv6 DIP = IP-in-IP Decap IP (say 0xAAAAAAAABBBBBBBBCCCCCCCCDDDDDDDD - converted in hex)</p><p>It allows IP-in-ip packets and drops all other packets to the IP-in-IP Decap IP.</p><pre>mac access-list payload alias ipv6-next-protocol-ipv4 offset 1 pattern 0x00000400 mask 0xffff00ff\n \nmac access-list payload alias ipv6-next-protocol-ipv6 offset 1 pattern 0x00002900 mask 0xffff00ff\n \nmac access-list payload alias ipv6-dip-decap-ip1 offset 6 pattern 0xAAAAAAAA mask 0\n \nmac access-list payload alias ipv6-dip-decap-ip2 offset 7 pattern 0xBBBBBBBB mask 0\n \nmac access-list payload alias ipv6-dip-decap-ip3 offset 8 pattern 0xCCCCCCCC mask 0\n \nmac access-list payload alias ipv6-dip-decap-ip4 offset 9 pattern 0xDDDDDDDD mask 0\n \nmac access-list foo\n&nbsp;&nbsp;&nbsp;counters per-entry\n&nbsp;&nbsp;&nbsp;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\n&nbsp;&nbsp;&nbsp;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\n&nbsp;&nbsp;&nbsp;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\n&nbsp;&nbsp;&nbsp;4 permit any any\n</pre><div>&nbsp;</div><h3>7280R3 Series, 7500R3 Series, and 7800R3 Series</h3><p>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:</p><pre>hardware tcam\n&nbsp;&nbsp;&nbsp;profile test\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;feature acl port ipv6\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;packet ipv6 ipv4 forwarding routed decap\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;packet ipv6 ipv6 forwarding routed decap\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;packet ipv6 gue ipv4 forwarding routed decap\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;packet ipv6 gue ipv6 forwarding routed decap\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;packet ipv6 gue mpls forwarding mpls decap\n</pre><div>&nbsp;</div><p>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.</p>ACL to Permit GUEv6 Only<p>This IPv6 ACL matches on GUE packets as follows:<br>(a) IP next protocol = UDP (0x11)<br>(b) IP DIP = GUE Decap IP<br>(c) UDP destination port = UDP port configured per payload<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (IP = Y or MPLS = Z)</p><p>It allows GUE packets and drops all other packets to the GUE Decap IP.</p><pre>ipv6 access-list foo\n&nbsp;&nbsp;&nbsp;counters per-entry\n&nbsp;&nbsp;&nbsp;1 permit udp any host &lt;decap-ip&gt; eq Y\n&nbsp;&nbsp;&nbsp;2 permit udp any host &lt;decap-ip&gt; eq Z\n&nbsp;&nbsp;&nbsp;3 deny ipv6 any host &lt;decap-ip&gt;\n&nbsp;&nbsp;&nbsp;4 permit ipv6 any any\n</pre><div>&nbsp;</div>ACL to Permit IP-in-IPv6 Only<p>This IPv6 ACL matches on IP-in-IPv6 packets as follows:<br>(a) IP next protocol = IPv4 (4) or IPv6 (41)<br>(b) IP DIP = IP-in-IP Decap IP</p><p>It allows IP-in-IPv6 packets and drops all other packets to the IP-in-IPv6 Decap IP.</p><pre>ipv6 access-list foo\n&nbsp;&nbsp;&nbsp;counters per-entry\n&nbsp;&nbsp;&nbsp;1 permit 4 any host &lt;decap-ip&gt;\n&nbsp;&nbsp;&nbsp;2 permit 41 any host &lt;decap-ip&gt;\n&nbsp;&nbsp;&nbsp;3 deny ipv6 any host &lt;decap-ip&gt;\n&nbsp;&nbsp;&nbsp;4 permit ipv6 any any</pre>"}]}],"solutions":[{"lang":"en","value":"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.","supportingMedia":[{"type":"text/html","base64":false,"value":"<p>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.</p>"}]}],"credits":[{"lang":"en","value":"Scott Christiansen, Lukas Peitz, Rich Compton, and Jonathan Davis at Comcast","type":"finder"}],"source":{"defect":["BUG1086442","BUG1519884"],"advisory":"0137","discovery":"EXTERNAL"},"x_generator":{"engine":"Vulnogram 1.0.2"},"metrics":[{"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}],"cvssV3_1":{"version":"3.1","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"CHANGED","confidentialityImpact":"NONE","integrityImpact":"LOW","availabilityImpact":"NONE","baseSeverity":"MEDIUM","baseScore":5.8,"vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N"}},{"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}],"cvssV4_0":{"attackVector":"NETWORK","attackComplexity":"LOW","attackRequirements":"NONE","privilegesRequired":"NONE","userInteraction":"NONE","vulnConfidentialityImpact":"NONE","subConfidentialityImpact":"NONE","vulnIntegrityImpact":"LOW","subIntegrityImpact":"LOW","vulnAvailabilityImpact":"NONE","subAvailabilityImpact":"NONE","exploitMaturity":"NOT_DEFINED","Safety":"NOT_DEFINED","Automatable":"NOT_DEFINED","Recovery":"NOT_DEFINED","valueDensity":"NOT_DEFINED","vulnerabilityResponseEffort":"NOT_DEFINED","providerUrgency":"NOT_DEFINED","version":"4.0","baseSeverity":"MEDIUM","baseScore":6.9,"vectorString":"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"}}]}}}