A new zero-day vulnerability in the Linux GStreamer framework allows an attacker to bypass built-in security features, such as Address Space Layout Randomization (ASLR) and Data Execution Prevention (DEP), to run arbitrary code on a victim’s machine.
Security researcher Chris Evans was able to bypass the two security features by submitting scriptless bytes into the GStreamer decoder, succeeding in taking control of memory reads and writes to gain control of a targeted PC. The technique allegedly works for 64-bit ASLR-running Linux systems, affecting more distribution than the Fedora distro used in the proof-of-concept.
“This decoder is generally present in the default install of modern Linux desktops, including Ubuntu 16.04 and Fedora 24,” Evans wrote. “Gstreamer classifies its decoders as ‘good’, ‘bad’ or ‘ugly’. Despite being quite buggy, and not being a format at all necessary on a modern desktop, the FLIC decoder is classified as ‘good’, almost guaranteeing its presence in default Linux installs.”
While the exploit allegedly works on all Linux distributions that run the GStreamer decoder, weaponizing it for distributions other than Fedora does involve additional skills and work. Evans also points out that missing defenses, such as ASLR and RELRO in Ubuntu version up to 16.04 LTS, makes it even more prone to the attack than other Linux distributions.
“In particular, going after this exploit on Ubuntu would have been much much faster due to the missing ASLR,” according to Evans. “But the point here is to go after a genuinely scriptless exploit in the presence of solid ASLR. So we choose Fedora as our exploitation target.”
The proof-of-concept is also available for download, as well as a crash file for checking that the exploit is legitimate. While Linux has yet to release a patch, one will likely follow shortly. Amongst security recommendations that emerged from this exploit, Evans points out that any code responsible for automatically indexing or displaying thumbnails for media files needs to be sandboxed to prevent such exploits in the future.