A use-after-free flaw can occur in the Linux kernel due to a race condition between packet_do_bind() and packet_notifier() functions called for an AF_PACKET socket. An unprivileged local user could use this flaw to induce kernel memory corruption on the system, leading to an unresponsive system or to a crash. Due to the nature of the flaw, privilege escalation cannot be fully ruled out. External Reference: https://blogs.securiteam.com/index.php/archives/3731 A probable fix: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=15fe076edea787807a7cdc168df832544b58eba6
Created kernel tracking bugs for this issue: Affects: fedora-all [bug 1641879]
I guess, there is a bit of confusion here. If I understand it correctly, mainline commit 15fe076edea787807a7cdc168df832544b58eba6 "net/packet: fix a race in packet_bind() and packet_notifier()" is the actual fix for the problem. It seems, its authors just did not know that the race can lead to an exploitable use-after-free as well. The kernel 3.10.0-862.14.4 from RHEL7 does not have that mainline fix. Not sure about the newer ones. By the way, I have checked the exploit on our custom kernel based on 3.10.0-862.11.6 from RHEL 7 - if run as a non-root user, it causes kernel crashes or (in some cases) soft lockups within minutes. I added that patch from mainline, tried the exploit again - no such problems happened this time.
(In reply to Evgenii Shatokhin from comment #3) > If I understand it correctly, mainline commit > 15fe076edea787807a7cdc168df832544b58eba6 "net/packet: fix a race in > packet_bind() and packet_notifier()" is the actual fix for the problem. Evgenii, thank you for your update. Indeed, the wording in the securiteam's article regarding 15fe076edea7 is, at least, unclear. > I added that patch > from mainline, tried the exploit again - no such problems happened this time. Yes, RHEL-7 is vulnerable to this flaw without the commit 15fe076edea7 and looks like behaving correctly with this commit. so, probably this is the fix indeed. Thank you for your research and confirmation!
This was fixed for Fedora with the 4.15 kernel rebases.
This issue has been addressed in the following products: Red Hat Enterprise Linux 7 Via RHSA-2019:0163 https://access.redhat.com/errata/RHSA-2019:0163
This issue has been addressed in the following products: Red Hat Enterprise Linux 7 Via RHSA-2019:0188 https://access.redhat.com/errata/RHSA-2019:0188
This issue has been addressed in the following products: Red Hat Enterprise Linux 7.4 Extended Update Support Via RHSA-2019:1170 https://access.redhat.com/errata/RHSA-2019:1170
This issue has been addressed in the following products: Red Hat Enterprise MRG 2 Via RHSA-2019:1190 https://access.redhat.com/errata/RHSA-2019:1190
This issue has been addressed in the following products: Red Hat Enterprise Linux 7.5 Extended Update Support Via RHSA-2019:3967 https://access.redhat.com/errata/RHSA-2019:3967
This issue has been addressed in the following products: Red Hat Enterprise Linux 7.3 Telco Extended Update Support Red Hat Enterprise Linux 7.3 Advanced Update Support Red Hat Enterprise Linux 7.3 Update Services for SAP Solutions Via RHSA-2019:4159 https://access.redhat.com/errata/RHSA-2019:4159
This issue has been addressed in the following products: Red Hat Enterprise Linux 7 Via RHSA-2020:0174 https://access.redhat.com/errata/RHSA-2020:0174