Apple Safari has become the first major browser to be purged of one of the web's longest-running privacy defects: The ability for any site owner to effortlessly steal a complete copy of your recent browsing history.
The browser history disclosure leak is as old as the World Wide Web itself, and it afflicted every major browser – until now. Starting with versions released Monday, Safari no longer coughs up the list of websites a user has visited. The change is one of almost 50 security fixes Apple engineers added to versions 4.1 and 5.0 of the browser.
In characteristic Apple fashion, the company buried news of the change at the bottom of this page. We pointed the new Safari version at sites here and here, which exploit the weakness, and neither worked. The attacks succeeded just fine against Google Chrome and Firefox, and one of them succeeded even when Firefox was running the NoScript add-on.
The history leak is the result of the same CSS, or cascading style sheet, technology that causes a browser to display links that have been visited in a different color than addresses that have not been visited. It also allows webmasters to customize content and user interfaces on their sites based on the links individual users regularly visit. Browser makers have long been aware that it can reveal potentially sensitive websites users visit, but have been reluctant to patch the hole for fear it will remove functionality people have come to depend on.
In April, Mozilla said it planned to fix the browser history leakage in an upcoming version of Firefox. While recent beta versions of the browser have the feature turned on, the latest production version remains wide open. Chrome and Internet Explorer are also vulnerable.
Because Safari is based on the same code base as Chrome, it wouldn't be surprising to see the latter browser fixed soon too. That will leave IE as the only major browser with no stated plans to fix the weakness. Microsoft has so far been tight-lipped about its plans, offering only half-baked work-arounds and the warning that browser fixes could break websites.
The history fix is by no means the only security improvement added to the latest version of Safari. The browser now ships with a filter designed to prevent XSS, or cross-site scripting, attacks from working. Microsoft introduced a similar feature to IE 8 and Firefox with NoScript achieves the same result. But as reported by the 0x0Lab Blog, Safari's implementation is easily bypassed. ®