A security researcher has disclosed a bug that could be abused to spoof website addresses in either Edge or Safari.
Rafay Baloch told The Register that while Microsoft has since patched the flaw (CVE-2018-8383) in its browser, Apple has been dragging its feet on a fix for Safari for weeks, and the browser remains vulnerable.
The vulnerability is the result of what Baloch describes as a race condition that would potentially allow the attacker to start loading a legit page, causing the page's address to appear in the URL bar, and then quickly switch the code in the page to something malicious – without changing the URL displayed in the address bar.
In practice, this would allow an attacker to create fake login screens or other forms that could harvest usernames, passwords and other data from users who thought they were on a real landing page.
"During my testing, it was observed that upon requesting data from a non-existent port the address was preserved and hence due to a race condition over a resource requested from non-existent port combined with the delay induced by setInterval function managed to trigger address bar spoofing," Baloch explained.
"It causes browser to preserve the address bar and to load the content from the spoofed page. The browser will however eventually load the resource, however the delay induced with setInterval function would be enough to trigger the address bar spoofing."
The researcher has posted videos proof of concept for both Edge:
Baloch says that, because the browsers are closed-source, he doesn't know exactly why Edge and Safari would contain the same flaw but not, say, Chrome or Firefox. He notes that it could simply be down to when the browsers decide to display a page's URL. The flaw is present in iOS and macOS Safari, it appears.
"Different browsers handle navigations differently, in this case Apple Safari and Edge browser allowed code to update the browser when the page is still loading," Baloch told El Reg.
"This issue can be addressed when browsers would allow address bar to be updated once the page is completely loaded."
Where the two companies differ, however, is in how they responded to the reports of the flaw. While Microsoft has already fixed the bug, Baloch has yet to get word that the flaw he reported to Cupertino back on June 2 has been fixed. We've yet to hear from Apple about the state of its flaw.
Now, with the customary 90 day window having come and gone, Baloch said he is disclosing the flaw but holding off on sharing proof-of-concept code until Apple finally does kick out a patch. ®