Lỗ hổng bảo mật bắt nguồn từ việc Apple triển khai IndexedDB - một giao diện lập trình ứng dụng (API) lưu trữ dữ liệu trên trình duyệt của người dùng. Báo cáo từ FingerprintJS, IndexedDB tuân theo chính sách nguồn gốc vốn hạn chế một nguồn tương tác với dữ liệu được thu thập trên các nguồn khác, về cơ bản chỉ trang web tạo dữ liệu mới có thể truy cập nó. Ví dụ: nếu người dùng mở tài khoản email của mình trong một tab và sau đó mở một trang web độc hại trong một tab khác, chính sách nguồn gốc sẽ ngăn trang độc hại xem và can thiệp vào email của người dùng.
Tuy nhiên, FingerprintJS nhận thấy rằng ứng dụng API IndexedDB của Apple trong Safari 15 thực sự vi phạm chính sách nguồn gốc. Theo báo cáo, IndexedDB được hỗ trợ bởi phần lớn các trình duyệt hiện này và nắm giữ lượng dữ liệu đáng kể.
Lỗ hổng có trên các phiên bản iOS 15, iPadOS và macOS sẽ cho phép các website ngẫu nhiên biết được người dùng đang truy cập trang web nào tại các cửa sổ và thẻ khác. Điều này thực hiện được là vì các trang như YouTube, Google Calendar và Google Keep sử dụng “nhận dạng chuyên biệt cho người dùng” trong tên cơ sở dữ liệu của chúng. Do đó, người dùng đã xác thực có thể được nhận diện thông qua cơ sở dữ liệu được tạo tại các trang web truy cập trước đó, gồm “ID người dùng Google” cũng như dữ liệu của các tài khoản đang được sử dụng.
FingerprintJS đã tạo một bản demo bằng chứng về cáo buộc của mình. Bản trình diễn sử dụng lỗ hổng IndexedDB của trình duyệt để xác định các trang web mà người dùng đã mở hoặc mở gần đây, cho thấy cách các trang web khai thác lỗi có thể lấy thông tin từ ID người dùng Google của họ. Công ty hiện chỉ phát hiện 30 trang web phổ biến bị ảnh hưởng bởi lỗi, chẳng hạn như Instagram, Netflix, Twitter, Xbox, nhưng nó có khả năng ảnh hưởng nhiều hơn.
Thật không may, người dùng không thể làm gì nhiều để giải quyết vấn đề này vì FingerprintJS cho biết lỗi này cũng ảnh hưởng đến chế độ duyệt web riêng tư trên Safari. FingerprintJS đã báo cáo sự cố cho Apple vào ngày 28/11 năm ngoái, nhưng vẫn chưa có bản cập nhật cho Safari./.