Серйозний баг у Safari, розкритий у звіті видання FingerprintJS, може розкрити інформацію про вашу нещодавню історію переглядів і навіть деяку інформацію про користувача, що увійшов до облікового запису Google.
Помилка в реалізації IndexedDB Safari на Mac і iOS означає, що веб-сайт може бачити імена баз даних для будь-якого домену, а не тільки свого власного. Імена баз даних можуть бути використані для отримання ідентифікуючої інформації з таблиці пошуку. Наприклад, сервіси Google зберігають екземпляр IndexedDB для кожного з облікових записів, ім’я бази даних відповідає вашому ідентифікатору користувача Google.
Використовуючи експлойт, описаний у статті видання, шкідливий сайт може визначити ваш ідентифікатор користувача Google і потім використовувати його для отримання іншої особистої інформації про вас, оскільки цей ідентифікатор використовується для виконання API-запитів до служб Google. У демонстраційній версії пробного варіанта відкривається фотографія профілю користувача.
У демонстраційному прикладі зберігається лише таблиця пошуку приблизно 30 доменних імен, проте немає причин, через які ця техніка не може бути застосована до більшого набору. Практично будь-який сайт, що використовує API IndexedDB JavaScript, може бути вразливим для такої крадіжки даних.
Помилка полягає лише в тому, що імена всіх баз даних IndexedDB доступні для будь-якого сайту, доступ до фактичного вмісту кожної бази даних обмежений. Виправлення – і правильна поведінка, що спостерігається в інших браузерах, таких як Chrome – полягає в тому, що сайт може бачити тільки бази даних, створені під тим же доменним ім’ям, що і його власна.
Експлуатації піддаються всі поточні версії Safari на iPhone, iPad та Mac. FingerprintJS стверджує, що вони повідомили про помилку в Apple 28 листопада, але вона досі не усунута. До того часу єдиним рішенням може бути використання стороннього браузера на Mac, або блокування всього JavaScript, жоден з яких не є обов’язковим варіантом.
Читайте також: