Google has been pushing hard to incorporate speech recognition features into Web apps. But a Chrome exploit that can secretly transcribe your conversations unless you're paying attention probably wasn't what the company had in mind.
Whenever a website wants to access your microphone, Chrome requires permission. A dialog appears at the top of the browser window, and after you give your OK, an icon appears in the tab area, letting you know the microphone is in use. Close the tab or visit another site, and microphone access is supposed to get cut off.
But as Web developer Tal Ater discovered, malicious sites can use pop-under windows to keep listening even after the user has gone to another site or closed the main browser window. Unlike a regular browser tab, pop-under windows don't show the recording status icon, and can continue to listen in for as long as the pop-under window stays open. The exploit can also stay dormant until the user utters certain key phrases.
The trick, according to Ater, lies in the use of HTTPS site permissions. Chrome remembers when you've given microphone privileges to an HTTPS site, so you don't have to click an approval button every time you visit. Unfortunately, this also allows the site to open a pop-under window and continue accessing the microphone without express permission.
Granted, the odds of a user enabling speech recognition on a malicious site and then staying oblivious to pop-under windows seems slim. Perhaps that's why Google doesn't seem overly concerned with fixing the issue right away. Ater claims that Google is waiting for the W3C standards group to decide the appropriate course of action, four months after the developer brought the issue to Google's attention.
In a statement to Ars Technica, Google said it sees no immediate threat since users must first enable speech recognition for each individual site. "The feature is in compliance with the current W3C standard, and we continue to work on improvements," the company said in its statement.
In the meantime, you can check on which sites have microphone privileges in Chrome by going to chrome://settings/contentExceptions#media-stream in the browser. You can also cut off microphone access completely by going to chrome://settings/content, scrolling down to Media and selecting "Do not allow sites to access my camera and microphone."