Lỗ hổng nghiêm trọng trong Firefox và Tor Browser lộ danh tính người dùng qua IndexedDB

22 tháng 4, 2026·5 phút đọc

Các nhà nghiên cứu vừa phát hiện một lỗ hổng quyền riêng tư ảnh hưởng đến tất cả trình duyệt dựa trên Firefox. Vấn đề này cho phép các trang web tạo ra một định danh duy nhất và ổn định dựa trên thứ tự các mục trong IndexedDB, từ đó theo dõi người dùng ngay cả trong chế độ ẩn danh hoặc khi sử dụng tính năng "New Identity" của Tor Browser. Mozilla đã phát hành bản vá lỗi trong Firefox 150.

Lỗ hổng nghiêm trọng trong Firefox và Tor Browser lộ danh tính người dùng qua IndexedDB

Gần đây, chúng tôi đã phát hiện ra một lỗ hổng quyền riêng tư ảnh hưởng đến tất cả các trình duyệt dựa trên Firefox. Vấn đề này cho phép các trang web suy ra một định danh duy nhất, xác định và ổn định trong suốt vòng đời của tiến trình từ thứ tự các mục được trả về bởi IndexedDB, ngay cả trong bối cảnh người dùng mong đợi sự cô lập cao hơn.

Điều này có nghĩa là một trang web có thể tạo ra một tập hợp các cơ sở dữ liệu IndexedDB, kiểm tra thứ tự trả về và sử dụng thứ tự đó như một vân tay (fingerprint) cho trình duyệt đang chạy. Vì hành vi này nằm trong phạm vi tiến trình (process-scoped) chứ không phải phạm vi nguồn gốc (origin-scoped), các trang web không liên quan có thể quan sát độc lập cùng một định danh và liên kết hoạt động trên nhiều nguồn gốc trong cùng một lần chạy trình duyệt.

Minh họa lỗ hổng bảo mật FirefoxMinh họa lỗ hổng bảo mật Firefox

Tác động đến Chế độ ẩn danh và Tor Browser

Trong Chế độ duyệt web riêng tư (Private Browsing) của Firefox, định danh này có thể tồn tại ngay cả sau khi tất cả các cửa sổ riêng tư được đóng, miễn là tiến trình Firefox vẫn đang chạy. Đối với Tor Browser, định danh ổn định này tồn tại thậm chí cả qua tính năng "New Identity" (Danh tính mới) — tính năng được thiết kế để đặt lại hoàn toàn, xóa cookie và lịch sử trình duyệt cũng như sử dụng các mạch Tor mới.

Tính năng này được mô tả là dành cho những người dùng "muốn ngăn chặn hoạt động trình duyệt sau đó của họ bị liên kết với những gì họ đang làm trước đó". Lỗ hổng này thực sự làm vô hiệu hóa các đảm bảo về sự cô lập mà người dùng dựa vào để duy trì tính không thể liên kết (unlinkability).

Nguyên nhân kỹ thuật và Cách khắc phục

Nguyên nhân gốc rễ được thừa hưởng bởi Tor Browser thông qua việc triển khai IndexedDB của Gecko, do đó vấn đề này liên quan đến cả hai sản phẩm và tất cả các trình duyệt dựa trên Firefox.

Vấn đề nằm ở việc trong tất cả các trình duyệt dựa trên Firefox, thứ tự kết quả được trả về bởi API indexedDB.databases() không trung tính. Trong Chế độ duyệt web riêng tư, tên cơ sở dữ liệu không được sử dụng trực tiếp làm định danh tệp trên đĩa. Thay vào đó, chúng được ánh xạ tới các tên tệp cơ sở dựa trên UUID thông qua một bảng băm toàn cầu. Việc ánh xạ này tồn tại trong suốt vòng đời của IndexedDB QuotaClient và được chia sẻ trên tất cả các nguồn gốc.

Giải pháp khắc phục về nguyên tắc rất đơn giản: trình duyệt không nên lộ thứ tự lưu trữ nội bộ phản ánh trạng thái cấp tiến trình. Việc chuẩn hóa hoặc sắp xếp kết quả trước khi trả về sẽ loại bỏ entropy và ngăn chặn API này hoạt động như một định danh ổn định.

Mozilla đã nhanh chóng phát hành bản sửa lỗi trong Firefox 150 và ESR 140.10.0, và bản vá được theo dõi trong Mozilla Bug 2024220.

Tại sao vấn đề này quan trọng?

Các chế độ duyệt web riêng tư và các trình duyệt tập trung vào quyền riêng tư được thiết kế để giảm khả năng xác định người dùng của các trang web trên nhiều bối cảnh. Người dùng thường mong đợi hai điều:

  • Các trang web không liên quan không thể biết rằng họ đang tương tác với cùng một phiên bản trình duyệt trừ khi có cơ chế lưu trữ chia sẻ hoặc danh tính rõ ràng liên quan.
  • Khi một phiên riêng tư kết thúc, trạng thái liên quan đến phiên đó sẽ biến mất.

Vấn đề này phá vỡ cả hai kỳ vọng. Một trang web không cần cookie, localStorage hay bất kỳ kênh đa trang web (cross-site) rõ ràng nào. Thay vào đó, nó có thể dựa vào hành vi lưu trữ nội bộ của chính trình duyệt để suy ra một định danh có dung lượng cao từ thứ tự tên cơ sở dữ liệu được trả về bởi một API.

Đối với Tor Browser, vấn đề này đặc biệt nghiêm trọng vì trình duyệt được thiết kế cụ thể để giảm khả năng liên kết đa trang web và giảm thiểu danh tính cấp phiên bản trình duyệt. Một định danh tồn tại trong suốt vòng đời của tiến trình đi ngược lại mục tiêu thiết kế đó.

Kết luận

Lỗ hổng này cho thấy cách một chi tiết triển khai nhỏ có thể tạo ra vấn đề quyền riêng tư đáng kể. Tin tốt là bản sửa lỗi đơn giản và hiệu quả. Bằng cách chuẩn hóa đầu ra trước khi trả về, các trình duyệt có thể loại bỏ nguồn entropy này và khôi phục ranh giới quyền riêng tư mong đợi. Đây chính xác là loại vấn đề đáng để chú ý: tinh tế, dễ bỏ sót và rất có tính giáo dục cho bất kỳ ai đang xây dựng các tính năng trình duyệt nhạy cảm về quyền riêng tư.

Bài viết được tổng hợp và biên soạn bằng AI từ các nguồn tin tức công nghệ. Nội dung mang tính tham khảo. Xem bài gốc ↗