Security experts from Cisco Talos have released technical details on a recently addressed vulnerability in Firefox, tracked as CVE-2020-12405, that could be exploited by attackers for remote code execution.
The issue is a use-after-free in SharedWorkerService flaw and received a CVSS score of 8.8. The flaw was addressed by Mozilla along with other four high-severity vulnerabilities with the release of Firefox 77.
The flaw impacts Firefox 76.0a1 x64, it also affected the Tor Browser that addressed it with the release of version 9.5.
The vulnerability could be exploited by tricking a user into visiting a malicious HTML page that was designed to cause a race condition, thus leading to the use-after-free flaw and then remote code execution.
“An exploitable code execution vulnerability exists in the SharedWorkerService functionality of Mozilla Firefox 76.0a1 (2020-04-01) x64. A specially crafted HTML web page can cause a use after free condition, resulting in a remote code execution.” reads the post published by Cisco Talos. “The victim needs to visit malicious web site to trigger the vulnerability.”
The flaw was found by Marcin ‘Icewall’ Noga of Cisco Talos, the issue resides in the SharedWorker component and objects internally related to it.
The SharedWorkerService object is allocated inside a thread and it is allocated while handling the next event inside another thread.
Talos researchers noticed that simultaneously execution of thread continues which in the final result leads to a use-after-free
However, they also discovered that, simultaneously, execution of the thread continues, thus leading to a use-after-free of the SharedWorkerService object.
“Further analysis revealed that the root cause of that vulnerability seems to be a lack of Mutex object in the GetOrCreateWorkerManager method” continues the analysis.
“Proper heap grooming can give an attacker full control of this use-after-free vulnerability and as a result could allow it to be turned into arbitrary code execution,”
Below the vulnerability timeline:
2020-04-20 – Vendor Disclosure
2020-06-02 – Vendor Patched
2020-06-10 – Public Release
(SecurityAffairs – Firefox, hacking)