EAP-TLS is generally a great practice, as EAP-PEAP is vulnerable to MITM issues (fix proposed in <a href="https://www.ietf.org/archive/id/draft-josefsson-pppext-eap-tls-eap-10.txt" rel="nofollow">https://www.ietf.org/archive/id/draft-josefsson-pppext-eap-t...</a> but never adopted).<p>For the use case cited -- blocking MAC spoofing, EAP-TLS doesn't quite solve it, it mainly only solves authentication. The outer layer is not wrapped with TLS and is instead based on an ephemeral session key. Additional work is needed to stop the spoofing. The RFC states explicitly that channel binding, which would help stop the MAC spoofing, is not implemented <a href="https://datatracker.ietf.org/doc/html/rfc5216" rel="nofollow">https://datatracker.ietf.org/doc/html/rfc5216</a>. What it does prevent is a client from being man-in-the-middled.<p>What's even wilder is that on some access points, when set to bridge mode, with an upstream Radius Authentication Server, as described, they may be vulnerable to ARP spoofing of the upstream radius server IP. This is something we've reported to vendors and were told "won't fix". Names include Netgear and TP-Link, though we don't suspect all routers from them are affected by this. We have not tested with the unifi access point referenced in the article.<p>So to restate the attack, cause it's so ridiculous, you should know about it: an anonymous, unauthenticated wireless station associates without a password. Next it would begin the EAPOL negotiation but it instead then proceeds to perform ARP spoofing to claim the IP address of the upstream Radius that is supposed to only be routed over the uplink interfaces. Even without knowing the shared secret, it's possible for the client to pretend to be the radius server to the AP, and authenticate itself onto the network.
One thing you want to be very sure of when setting up 802.1X Radius Auth, is that your access point is not going to be misconfigured to allow clients to do this.