Cụ thể, một lỗi trong quá trình thực hiện IndexedDB của Safari trên MacOS và iOS dẫn đến việc trang web có thể thấy danh sách tên database của bất kỳ tên miền nào, không chỉ tên miền của bản thân trang web đó. Danh sách database sau đó có thể được dùng để trích xuất thông tin xác nhận từ một bảng tra cứu. Ví dụ, dịch vụ của Google lưu trữ một phiên bản IndexedDB tương ứng với mỗi tài khoản Google đăng nhập, kèm theo ID tài khoản tương ứng với tên của database.
Bằng cách sử dụng lỗ hổng FingerprintJS mô tả, kẻ xấu có thể lấy ID tài khoản Google và dùng ID đó để tìm thêm thông tin cá nhân của người dùng, do ID này được dùng để yêu cầu API các dịch vụ khác của Google. Trong phiên bản demo trên safarileaks.com, ảnh đại diện của tài khoản Google bạn đang dùng sẽ được hiện lên.
Phiên bản demo chỉ dùng bảng tra cứu cho khoảng 30 tên miền, tuy nhiên không có lý do gì mà lỗ hổng này không thể được áp dụng cho một tập hợp tên miền lớn hơn nhiều. Gần như mọi trang web sử dụng API JavaScript IndexedDB có thể bị khai thác thông tin bằng lỗ hổng trên. Tuy nhiên, lỗ hổng này chỉ làm lộ danh sách tên database IndexedDB trên trang web; việc truy cập vào nội dung mỗi database vẫn bị giới hạn.
Tất cả các phiên bản hiện tại của Safari trên iPhone, iPad và Mac đều có lỗ hổng này. FingerprintJS cho biết đã thông báo lỗi đến Apple vào ngày 28/11/2021, tuy nhiên lỗi này vẫn chưa được khắc phục.
Tùng Phong (Theo 9to5Mac)