CVE-2022-48784

Summary

In the Linux kernel, the following vulnerability has been resolved:

cfg80211: fix race in netlink owner interface destruction

My previous fix here to fix the deadlock left a race where the exact same deadlock (see the original commit referenced below) can still happen if cfg80211_destroy_ifaces() already runs while nl80211_netlink_notify() is still marking some interfaces as nl_owner_dead.

The race happens because we have two loops here - first we dev_close() all the netdevs, and then we destroy them. If we also have two netdevs (first one need only be a wdev though) then we can find one during the first iteration, close it, and go to the second iteration – but then find two, and try to destroy also the one we didn't close yet.

Fix this by only iterating once.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxea6b2098dd02789f68770fd3d5a373732207be2f < 241e633cb379c4f332fc1baf2abec95ec840cbebaffected
LinuxLinuxea6b2098dd02789f68770fd3d5a373732207be2f < c979f792a2baf6d0f3419587668a1a6eba46a3d2affected
LinuxLinuxea6b2098dd02789f68770fd3d5a373732207be2f < f0a6fd1527067da537e9c48390237488719948edaffected
LinuxLinux2e4f97122f3a9df870dfe9671994136448890768affected
LinuxLinux5.12.1 < 5.13affected
LinuxLinux5.13affected
LinuxLinux0 < 5.13unaffected
LinuxLinux5.15.25 <= 5.15.*unaffected
LinuxLinux5.16.11 <= 5.16.*unaffected
LinuxLinux5.17 <= *unaffected

Weaknesses

ADP Enrichment

CVE Program Container

Additional References

CISA ADP Vulnrichment

  • SSVC:
  • Exploitation: none
    • Automatable: no
    • Technical Impact: partial

References