Незалежний експерт Барак Тавілі (Barak Tawily) продемонстрував, як зловмисники можуть отримати доступ до файлів на комп’ютері за допомогою шкідливого HTML-файлу і відомої вразливості в браузері Firefox.
Атака експлуатує реалізований в Firefox механізм Same Origin Policy (політика єдиного походження, SOP) для схеми URI “file://”, що дозволяє будь-якого файлу в папці на системі отримати доступ до інших файлів в одній папці і підпапках.
Оскільки точного визначення SOP для схеми URI File документації RFC немає, виробники браузерів і програмного забезпечення по-різному реалізують її в своїх продуктах. За словами Тавілі, Firefox – єдиний з основних браузерів, в якому досі використовується ненадійна реалізація SOP для схеми URI File, а також Fetch API.
За допомогою комбінації кликджекинга та бага «перемикання контексту» експерту вдалося отримати список файлів, розташованих в тій же папці, куди був завантажений шкідливий файл HTML, прочитати вміст певних або всіх файлів за допомогою Fetch API і відправити зібрані дані на віддалений сервер.
Для успішної атаки зловмиснику потрібно переконати жертву завантажити і відкрити шкідливий HTML-файл в браузері Firefox і клікнути на фальшиву кнопку. Вся шкідлива діяльність відбувається непомітно для користувача, а сама атака займає секунди.
Залишили повідомив про проблему інженерам Mozilla, проте в компанії заявили, що її реалізація SOP дозволяє будь-якій file:// URL отримати доступ до файлів в тих же папок і підпапок. Судячи з усього, Mozilla не має наміру виправляти ситуацію. Альтернативним рішенням, на думку Таліві, буде на рівні RFC зобов’язати виробників браузерів використовувати більш безпечні підходи і не дозволяти розробникам залишати без виправлення помилки, піддають користувачів ризику.
Політика єдиного походження (правило обмеження домену, Same Origin Policy) – концепція безпеки для деяких мов програмування на стороні клієнта, таких як JavaScript. Політика дозволяє сценаріями, які знаходяться на сторінках сайту, доступ до методів і властивостей один одного без обмежень, але запобігає доступ до більшості методів і властивостей для сторінок на різних сайтах. Однакові джерела — джерела, у яких збігаються три ознаки: домен, порт, протокол.