CVE-2020-10690 kernel: use-after-free in cdev_put() when a PTP device is removed while it's chardev is open

Related Vulnerabilities: CVE-2020-10690  
                							

                <!--X-Body-Begin-->
<!--X-User-Header-->

oss-sec
mailing list archives
<!--X-User-Header-End-->
<!--X-TopPNI-->

By Date

By Thread

</form>

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
CVE-2020-10690 kernel: use-after-free in cdev_put() when a PTP device is removed while it's chardev is open

<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->

From: Rohit Keshri &lt;rkeshri () redhat com&gt;

Date: Tue, 21 Apr 2020 17:18:53 +0530

<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->

<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
Hello Team,

Red Hats kernel has a flaw in Precision Time Protocol (PTP), which can
cause a kernel panic with 'general protection fault' with below details.

A use-after-free flaw was found in Linux Kernels implementation of __fput.
When a (high privileged) process allocates a ptp device file (like
/dev/ptpX) and voluntarily goes to sleep. During this time if the
underlying device is removed (potential privilege escalation) by the user
with administrator privilege, it can cause a denial of service (DoS)
problem as the process wakes up to terminate and clean all attached files.
The system crashes due to the cdev structure being invalid (as already
freed) which is pointed to by the inode.

'CVE-2020-10690' was assigned by Red Hat Inc.

Upstream fix:
https://lore.kernel.org/linux-fsdevel/20191125125342.6189-1-vdronov () redhat com/T/#u

Thank You
..
Rohit Keshri / Red Hat Product Security Team
01BC 858A 07B7 15C8 EF33 BFE2 2EEB 0CBC 84A4 4C2D

<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->

<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->

By Date

By Thread

Current thread:

CVE-2020-10690 kernel: use-after-free in cdev_put() when a PTP device is removed while it's chardev is open Rohit Keshri (Apr 21)

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->