By using this site, you agree to the Privacy Policy and Terms of Use.
Accept
Security Parrot - Cyber Security News, Insights and ReviewsSecurity Parrot - Cyber Security News, Insights and Reviews
Notification
Latest News
OpenAI may use Associated Press archive for AI training
July 14, 2023
EU users can hold conversations with Google Bard from training set
July 14, 2023
Aptos, the new default font for Microsoft Office
July 14, 2023
BlackLotus UEFI bootkit sources published on GitHub
July 14, 2023
Hackers from the XDSpy cyber-espionage group attacked Russian organizations on behalf of the Ministry of Emergency Situations
July 14, 2023
Aa
  • News
  • Tutorials
  • Security InsiderComing Soon
  • Expert InsightComing Soon
Reading: Liquid chrome. How the use after free bug works in the Blink engine
Share
Security Parrot - Cyber Security News, Insights and ReviewsSecurity Parrot - Cyber Security News, Insights and Reviews
Aa
Search
  • News
  • Tutorials
  • Security InsiderComing Soon
  • Expert InsightComing Soon
Follow US
Security Parrot - Cyber Security News, Insights and Reviews > News > Liquid chrome. How the use after free bug works in the Blink engine
News

Liquid chrome. How the use after free bug works in the Blink engine

Last updated: 2023/06/22 at 1:41 PM
Security Parrot Editorial Team Published June 22, 2023
Share
SHARE

Exploring a Chrome Browser Vulnerability

In January 2021, the latest version of the Chrome browser was released. It fixed 16 vulnerabilities, one of which we will analyze today in order to understand the mechanism for the occurrence of such bugs and the methods of exploitation with which an attacker can attack a machine left without updates.
The version of Chrome we are talking about is 87.0.4280.141. And the patched vulnerability we are interested in is CVE-2021-21112. It concerns the compression streams component in the Blink browser engine and works on the principle of use after free. The bug was reported by researcher YoungJoo Lee (@ashuu_lee) of Raon Whitehat in November 2020 via bugs.chromium.org, report number 1151298.

What is Blink?

Blink is the browser engine that powers Chrome. It is responsible for rendering webpages and providing web developers with useful features. And compression streams are the same web streams, but for the convenience of web developers, they are transmitted with compression. In order not to have to pull dependencies like zlib behind the project, the creators of Chrome decided to integrate the gzip and deflate compression formats into the Blink engine.
In fact, this is a convenient wrapper that transforms the stream with the default data transformation algorithm (either gzip or deflate). A transforming stream is an object containing two streams: readable (readable) and writable (writable). And between them is a transformer that applies the given algorithm to the data passing between them.

Setting Up the Test Bench

To reproduce the vulnerability, you will need a test bench consisting of a virtual machine and a vulnerable version of Chrome. The finished virtual machine can be downloaded from osboxes.org. The site provides virtual machine images for both VirtualBox and VMware.
I will be using the Xubuntu 20 image for VirtualBox. The reader is free to choose any distribution. Launching the machines well, let’s update:
sudo apt update && sudo apt upgrade -y
Now we need a vulnerable version of the browser.
A vulnerable version of Chrome compiled with ASan (AddressSanitizer) can be downloaded from googleapis.com. The vulnerability report indicates the name of the required build, namely the asan-linux-release-812852 build. Unpack the archive:
unzip asan-linux-release-812852.zip
A ready-made build will save a lot of time, as building a browser takes time, especially if the machine is not very powerful.
AddressSanitizer is a memory error detector. It provides compile-time instrumentation and a runtime library. You can read more about it on the Clang website.
Now we have a virtual machine ready and the necessary build of Chrome has been downloaded. In addition to them, we will need Python 3 and LLVM. Usually, the ASan sanitizer log looks unreadable because it only lists addresses and offsets. The llvm-symbolizer utility, which is installed with LLVM, will help you figure it out. It reads the log and displays the source code of the functions and lines of code that caused the error.

Weekly Updates For Our Loyal Readers!

Security Parrot Editorial Team June 22, 2023
Share this Article
Facebook Twitter Email Copy Link Print

Archives

  • July 2023
  • June 2023
  • May 2023
  • April 2023
  • February 2023
  • October 2022
  • September 2022
  • August 2022
  • July 2022
  • June 2022
  • May 2022
  • April 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • August 2021
  • July 2021
  • June 2021
  • May 2021
  • April 2021
  • March 2021
  • February 2021
  • January 2021
  • December 2020
  • November 2020
  • October 2020
  • September 2020
  • August 2020
  • July 2020

You Might Also Like

News

OpenAI may use Associated Press archive for AI training

July 14, 2023
News

EU users can hold conversations with Google Bard from training set

July 14, 2023
News

Aptos, the new default font for Microsoft Office

July 14, 2023
News

BlackLotus UEFI bootkit sources published on GitHub

July 14, 2023

© 2022 Parrot Media Network. All Rights Reserved.

  • Home
  • Parrot Media Group
  • Privacy Policy
  • Terms and Conditions
Join Us!

Subscribe to our newsletter and never miss our latest news, podcasts etc..

Zero spam, Unsubscribe at any time.

Removed from reading list

Undo
Go to mobile version
Welcome Back!

Sign in to your account

Lost your password?