FreeBSD Security Advisory FreeBSD-SA-22:02.wifi

============================================================================= FreeBSD-SA-22:02.wifi Security Advisory The FreeBSD Project
Topic: Multiple WiFi issues
Category: core Module: net80211 Announced: 2022-03-15 Affects: FreeBSD 12.x and FreeBSD 13.0 Corrected: 2021-11-19 00:01:25 UTC (stable/13, 13.0-STABLE) 2022-03-15 17:45:36 UTC (releng/13.0, 13.0-RELEASE-p8) 2022-02-15 16:05:49 UTC (stable/12, 12.3-STABLE) 2022-03-15 18:18:08 UTC (releng/12.3, 12.3-RELEASE-p3) 2022-03-15 18:17:30 UTC (releng/12.2, 12.2-RELEASE-p14) CVE Name: CVE-2020-26147, CVE-2020-24588, CVE-2020-26144
Note: This issue is already fixed in FreeBSD 13.1-BETA1.
For general information regarding FreeBSD Security Advisories, including descriptions of the fields above, security branches, and the following sections, please visit .
I. Background
FreeBSD’s net80211 kernel subsystem provides infrastructure and drivers for IEEE 802.11 wireless (Wi-Fi) communications.
II. Problem Description
The paper “Fragment and Forge: Breaking Wi-Fi Through Frame Aggregation and Fragmentation” reported a number of security vulnerabilities in 802.11 specificaiton related to frame aggregation and fragmentation.
Additionally, FreeBSD 12.x missed length validation of SSIDs and Information Elements (IEs).
III. Impact
As reported on the FragAttacks website, the “design flaws are hard to abuse because doing so requires user interaction or is only possible when using uncommon network settings.” Under suitable conditions an attacker may be able to extract sensitive data or inject data.
IV. Workaround
No workaround is available, but the ability to extract or inject data is mitigated by the use of application (e.g. HTTPS) or transport (e.g. TLS, IPSEC) layer encryption.
V. Solution
Upgrade your vulnerable system to a supported FreeBSD stable or release / security branch (releng) dated after the correction date, and reboot.
Perform one of the following:
1) To update your vulnerable system via a binary patch:
Systems running a RELEASE version of FreeBSD on the amd64, i386, or (on FreeBSD 13 and later) arm64 platforms can be updated via the freebsd-update(8) utility:
# freebsd-update fetch # freebsd-update install # shutdown -r +10min “Rebooting for a security update”
2) To update your vulnerable system via a source code patch:
The following patches have been verified to apply to the applicable FreeBSD release branches.
a) Download the relevant patch from the location below, and verify the detached PGP signature using your PGP utility.
[FreeBSD 13.0] # fetch # fetch # gpg –verify wifi.13.patch.asc
[FreeBSD 12.x] # fetch # fetch # gpg –verify wifi.12.patch.asc
b) Apply the patch. Execute the following commands as root:
# cd /usr/src # patch < /path/to/patch c) Recompile your kernel as described in and reboot the system.
VI. Correction details
This issue is corrected by the corresponding Git commit hash or Subversion revision number in the following stable and release branches:
Branch/path Hash Revision – ————————————————————————- stable/13/ 6acb9d5f955b stable/13-n248098 releng/13.0/ 0d1db5c3257e releng/13.0-n244782 stable/12/ r371640 releng/12.3/ r371748 releng/12.2/ r371740 – ————————————————————————-
For FreeBSD 13 and later:
Run the following command to see which files were modified by a particular commit:
# git show –stat
Or visit the following URL, replacing NNNNNN with the hash:

To determine the commit count in a working tree (for comparison against nNNNNNN in the table above), run:
# git rev-list –count –first-parent HEAD
For FreeBSD 12 and earlier:
Run the following command to see which files were modified by a particular revision, replacing NNNNNN with the revision number:
# svn diff -cNNNNNN –summarize svn://
Or visit the following URL, replacing NNNNNN with the revision number:

VII. References

The latest revision of this advisory is available at —–BEGIN PGP SIGNATURE—–
iQIzBAEBCgAdFiEE/A6HiuWv54gCjWNV05eS9J6n5cIFAmIw5aoACgkQ05eS9J6n 5cLuYw/+OtkGeEYFTmwoZrFn105OOhi1MHjopUmW3B3FDeIMP2BnULkCodLKpDqx WNROwaLBZ/FSHdX+rwcFhZVKksGuXafRY2bywDfJNCRmSIRjSEiSozIkJbihmKYq SAWxUwbZxkg+MPtgoiUNocXZhFplN4E1VmfZl6XDfcd9jrFTuNiMKPKWzW8haI7R H3Tovh6GgRLFfP5nnY2X8xZSSrxqkzXj4iRHJDedu6nmBFtsB34kjhW42fpycM/c irhHBApfgl9XW31sLSFP2lwhq36AVD27SaYKDWxAv4ywp6PiwPTTNr8lwk05Z0jp z76f3ZIBDhz3M3qzphMQ5wj6CB7SqTrgSD0WDZchdgDk904BdNum3vNRTO4x9iSB czlXk/utMbupW8AU9rjdKWeMz0DBpDGckjZq1Ot8+fSwbiLkPCjpYTDsxqiLZs6i xp/qjDW8rUKbgQSztSq3svF58dY74TLZ34rN0cqVPgvfpG1/fbM4W63vR0b4YG/5 mv4OKXe5whJmh1OVrrVSX/ttyTFm6JpNFRxpXCkRKOgNICevw9yHlvx8uE6rVKde P7PXAdRT48gcmN9gIscFuRwt2glvChYuH6ncF1jMQmfoAMTlDGRATQUuDy81fIw9 va3fiGDy2FsenAQYa4UwaA/iCodjaC0cNjNnf2cc9nZEnuq86l8= =Cjzd —–END PGP SIGNATURE—–