{"vuid":"VU#855201","idnumber":"855201","name":"L2 network security controls can be bypassed using VLAN 0 stacking and/or 802.3 headers","keywords":null,"overview":"### Overview\r\nLayer-2 (L2) network security controls provided by various devices, such as switches, routers, and operating systems, can be bypassed by stacking Ethernet protocol headers. An attacker can send crafted packets through vulnerable devices to cause Denial-of-service (DoS) or to perform a man-in-the-middle (MitM) attack against a target network.\r\n\r\n### Description\r\nThis vulnerability exists within Ethernet encapsulation protocols that allow for stacking of Virtual Local Area Network (VLAN) headers.  Network standards such as  [IEEE 802.1Q-1998]( https://standards.ieee.org/standard/802_1Q-1998.html) and [IEEE 802.3](https://standards.ieee.org/standard/802_3-2018.html) define a system of tagging Ethernet frames that help isolate networks to provide virtual networking capability.  IEEE standard [802.1ad](https://standards.ieee.org/standard/802_1ad-2005.html), also known as QinQ, allows for the stacking of these VLAN tags, extending the VLAN capability into multiple network segments. This widely adopted Ethernet feature is also referred to as \"provider bridging\" and \"stacked VLANs\".  In order to properly isolate and protect these virtual networks, many network devices and operating systems provide an L2 network filtering capability.   It is important to note that in modern computing environments , such as Cloud based virtualization and virtual networking, the L2 network capability is extended beyond the local area networks.  This can lead to exposure of this vulnerabilities in unintended ways to the larger Internet.\r\n\r\n\r\nThe identified vulnerabilities allow an attacker to bypass the security controls by stacking encapsulating headers. This is done by stacking a combination of one or more VLAN 0 (priority tag) headers and [802.2](https://standards.ieee.org/standard/802_2-1985.html) LLC/SNAP headers.  An attacker can send these crafted network packets and exploit vulnerable devices by bypassing their inspection and filtering capabilities.   Some examples of bypassed L2 inspections include, but are not limited to, [Dynamic ARP inspection](https://www.networkacademy.io/ccna/network-security/dynamic-arp-inspection-dai), [IPv6 Neighbor Discovery]( https://datatracker.ietf.org/doc/rfc4861/) (ND) protection, and [IPv6 RA Guard](https://datatracker.ietf.org/doc/html/rfc6105). \r\n\r\n**CVE-2021-27853**\r\nLayer 2 network filtering capabilities such as IPv6 RA guard or ARP inspection can be bypassed using combinations of VLAN 0 headers and LLC/SNAP headers.\r\n\r\n**CVE-2021-27854**\r\nLayer 2 network filtering capabilities such as IPv6 RA guard can be bypassed using combinations of VLAN 0 headers, LLC/SNAP headers in Ethernet to Wifi frame translation and the reverse Wifi to Ethernet.\r\n\r\n**CVE-2021-27861**\r\nLayer 2 network filtering capabilities such as IPv6 RA guard can be bypassed using LLC/SNAP headers with invalid length (and optionally VLAN0 headers).\r\n\r\n**CVE-2021-27862**\r\nLayer 2 network filtering capabilities such as IPv6 RA guard can be bypassed using LLC/SNAP headers with invalid length and Ethernet to Wifi frame conversion (and optionally VLAN0 headers).\r\n\r\n### Impact\r\nAn attacker can bypass security controls and deceive a locally connected target host to route traffic to arbitrary destinations.  Victim devices experience either a DoS (blackholing traffic) or MitM (observing the unencrypted traffic and maybe breaking encryption). \r\n\r\n### Solution\r\n#### Apply Updates\r\nInstall vendor-provided patches and updates to ensure malicious content is blocked or rejected by the security controls (such as RA Guard), thereby blocking router advertisements or other network configuration related advertisements that originate on host ports.\r\n\r\n#### Inspect and Block Router Advertisements\r\nUtilize the interface security controls on your router or managed switch to perform DHCP snooping, IPv6 RA guard, IP source guard, and ARP/ND inspection. It is also recommended to only allow needed protocol on access ports (ARP/ICMP/IPv4/IPv6), some applications may have additional needs so be prepared to modify the allow list as needed. \r\n\r\n### Acknowledgements\r\nThanks to Etienne Champetier for reporting this vulnerability. \r\n\r\nThis document was written by Timur Snoke.","clean_desc":null,"impact":null,"resolution":null,"workarounds":null,"sysaffected":null,"thanks":null,"author":null,"public":["https://blog.champtar.fr/VLAN0/","https://blog.champtar.fr/VLAN0_LLC_SNAP/","https://www.networkacademy.io/ccna/network-security/dynamic-arp-inspection-dai","https://lore.kernel.org/netdev/CAOdf3grDKBkYmt54ZAzG1zZ6zz1JXeoHSv67_Fc9-nRiY662mQ@mail.gmail.com/","https://bugs.launchpad.net/neutron/+bug/1884341","https://standards.ieee.org/standard/802_1Q-1998.html","https://standards.ieee.org/standard/802_2-1985.html","https://standards.ieee.org/standard/802_3-2018.html","https://standards.ieee.org/standard/802_1ad-2005.html","https://blogs.nwkings.com/what-is-dai-dynamic-arp-inspection/","https://datatracker.ietf.org/doc/rfc4861/","https://datatracker.ietf.org/doc/html/rfc6105","https://www.ieee802.org/1/files/public/docs2022/q-rev-seaman-priority-in-tags-0122-v0.pdf","https://www.ieee802.org/1/files/public/docs2022/q-rev-seaman-vlan-tag-encoding-ppt-0122-v0.pdf"],"cveids":["CVE-2021-27862","CVE-2021-27861","CVE-2021-27853","CVE-2021-27854"],"certadvisory":null,"uscerttechnicalalert":null,"datecreated":"2022-09-27T16:13:54.464195Z","publicdate":"2022-09-27T16:13:51.893192Z","datefirstpublished":"2022-09-27T16:13:54.486649Z","dateupdated":"2025-12-15T16:07:54.011196Z","revision":10,"vrda_d1_directreport":null,"vrda_d1_population":null,"vrda_d1_impact":null,"cam_widelyknown":null,"cam_exploitation":null,"cam_internetinfrastructure":null,"cam_population":null,"cam_impact":null,"cam_easeofexploitation":null,"cam_attackeraccessrequired":null,"cam_scorecurrent":null,"cam_scorecurrentwidelyknown":null,"cam_scorecurrentwidelyknownexploited":null,"ipprotocol":null,"cvss_accessvector":null,"cvss_accesscomplexity":null,"cvss_authentication":null,"cvss_confidentialityimpact":null,"cvss_integrityimpact":null,"cvss_availabilityimpact":null,"cvss_exploitablity":null,"cvss_remediationlevel":null,"cvss_reportconfidence":null,"cvss_collateraldamagepotential":null,"cvss_targetdistribution":null,"cvss_securityrequirementscr":null,"cvss_securityrequirementsir":null,"cvss_securityrequirementsar":null,"cvss_basescore":null,"cvss_basevector":null,"cvss_temporalscore":null,"cvss_environmentalscore":null,"cvss_environmentalvector":null,"metric":null,"vulnote":73}