Headline
CVE-2019-18683: security - [ Linux kernel ] Exploitable bugs in drivers/media/platform/vivid
An issue was discovered in drivers/media/platform/vivid in the Linux kernel through 5.3.8. It is exploitable for privilege escalation on some Linux distributions where local users have /dev/video0 access, but only if the driver happens to be loaded. There are multiple race conditions during streaming stopping in this driver (part of the V4L2 subsystem). These issues are caused by wrong mutex locking in vivid_stop_generating_vid_cap(), vivid_stop_generating_vid_out(), sdr_cap_stop_streaming(), and the corresponding kthreads. At least one of these race conditions leads to a use-after-free.
- Products
- Openwall GNU/*/Linux server OS
- Linux Kernel Runtime Guard
- John the Ripper password cracker
- Free & Open Source for any platform
- in the cloud
- Pro for Linux
- Pro for macOS
- Wordlists for password cracking
- passwdqc policy enforcement
- Free & Open Source for Unix
- Pro for Windows (Active Directory)
- yescrypt KDF & password hashing
- yespower Proof-of-Work (PoW)
- crypt_blowfish password hashing
- phpass ditto in PHP
- tcb better password shadowing
- Pluggable Authentication Modules
- scanlogd port scan detector
- popa3d tiny POP3 daemon
- blists web interface to mailing lists
- msulogin single user mode login
- php_mt_seed mt_rand() cracker
- Services
- Publications
- Articles
- Presentations
- Resources
- Mailing lists
- Community wiki
- Source code repositories (GitHub)
- Source code repositories (CVSweb)
- File archive & mirrors
- How to verify digital signatures
- OVE IDs
- What’s new
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Sat, 2 Nov 2019 22:27:27 +0300 From: Alexander Popov <alex.popov@…ux.com> To: oss-security@…ts.openwall.com Subject: [ Linux kernel ] Exploitable bugs in drivers/media/platform/vivid
Hello!
I used the syzkaller fuzzer with custom modifications and found a bunch of 5-year old bugs in the Linux kernel. I managed to exploit one of them for a local privilege escalation.
These vulnerabilities are caused by wrong mutex locking in the vivid driver of the V4L2 subsystem. Please see the fixing patch that I’ve just sent to LKML: https://lore.kernel.org/lkml/[email protected]/
The vivid driver doesn’t require any special hardware. It is shipped in Ubuntu, Debian, Arch Linux, SUSE Linux Enterprise and openSUSE.
On Ubuntu the devices created by this driver are available to the normal user, since Ubuntu applies RW ACL when the user is logged in: a13x@…ntu_server_1804:~$ getfacl /dev/video0 getfacl: Removing leading ‘/’ from absolute path names
file: dev/video0
owner: root
group: video
user::rw- user:a13x:rw- group::rw- mask::rw- other::—
(Un)fortunately, I don’t know how to autoload the vulnerable driver, which limits the severity of these vulnerabilities. That’s why the Linux kernel security team allows me to do the full disclosure.
But there is an interesting aspect – my PoC exploit bypasses SMEP and SMAP on the fresh Ubuntu Server 18.04. Moreover, it gains the local privilege escalation from the kthread context (where the userspace is not mapped). I’m going to share the details about the exploit techniques later.
For now I would recommend to blacklist the vivid kernel module on your machines.
Best regards, Alexander
Powered by blists - more mailing lists
Please check out the Open Source Software Security Wiki, which is counterpart to this mailing list.
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.