On Fri, Oct 16, 2020 at 08:58:34AM +0200, Jiri Slaby wrote: > Cc Greg. > > On 16. 10. 20, 5:39, Minh Yuan wrote: > > Hi, > > > > We recently discovered a uaf read in vt_do_kdgkb_ioctl from linux kernel > > version 3.4 to the latest version (v5.9 for now). > > > > The root cause of this vulnerability is that there exits a race in > > KDGKBSENT and KDSKBSENT. > > > > Here are details: > > 1. use KDSKBSENT to allocate a lager heap buffer to funcbufptr; > > 2. use KDGKBSENT to obtain the allocated heap pointer in step1 by > > func_table, at the same time, due to KDGKBSENT has no lock, we can use > > KDSKBSENT again to allocate a larger buffer than step1, and the old > > funcbufptr will be freed. However, we've obtained the heap pointer in > > KDGKBSENT, so a uaf read will happen while executing put_user. > > Hi, > > this is likely the issue I am fixing at: > https://git.kernel.org/pub/scm/linux/kernel/git/jirislaby/linux.git/commit/?h=devel&id=57c85191e788e172a446e34ef77d34473cfb1e8d > > I think, it won't apply cleanly as it's a part of a larger set. I will > reorder the patch and send something during the day.
Great, thanks for looking into this! greg k-h

