1 điểm bởi GN⁺ 2024-10-18 | 1 bình luận | Chia sẻ qua WhatsApp

Giới thiệu

  • Bài viết blog này giải thích quá trình phát hiện các lỗ hổng CVE-2024-6778 và CVE-2024-5836 trong trình duyệt web Chromium.
  • Các lỗ hổng này cho phép vượt thoát sandbox thông qua tiện ích mở rộng của trình duyệt.
  • Google đã trả $20,000 cho báo cáo lỗi này.

WebUI và Chrome sandbox

  • Chromium chạy mã không đáng tin cậy trong môi trường sandbox để chỉ cho phép các tương tác bị giới hạn.
  • WebUI được dùng để hiển thị GUI của Chromium và có quyền truy cập vào một số API nội bộ nhất định.
  • Mã chạy trên các trang WebUI có thể vượt qua sandbox, nên kẻ tấn công có thể lợi dụng điều này.

Chính sách doanh nghiệp

  • Hệ thống chính sách doanh nghiệp của Chromium được dùng để ép buộc áp dụng một số thiết lập nhất định trên các thiết bị thuộc sở hữu của doanh nghiệp hoặc trường học.
  • Chính sách người dùng được áp dụng cho một người dùng cụ thể hoặc một phiên bản trình duyệt cụ thể, và có thể được thiết lập cục bộ.

WebUI chính sách

  • Chromium có một WebUI để xem các chính sách hiện đang được áp dụng trên thiết bị.
  • Có tồn tại một tính năng không chính thức cho phép chỉnh sửa chính sách trên trang này.

Khai thác trang kiểm thử chính sách

  • Trong ghi chú phát hành của Chrome v117, tác giả phát hiện đề cập đến trang kiểm thử chính sách.
  • Trang này cung cấp một cách không chính thức để thiết lập chính sách.

Vượt thoát sandbox

  • Có thể vượt thoát sandbox bằng cách lợi dụng khả năng thiết lập các chính sách người dùng tùy ý.
  • Có thể thực thi các lệnh shell tùy ý bằng cách sử dụng tính năng browser switcher.

Lạm dụng Devtools API

  • Tác giả đã tìm ra cách tự động thực thi JS trên trang chrome://policy thông qua một tiện ích mở rộng Chrome độc hại.
  • Có thể thực thi mã trên trang WebUI bằng cách dùng API chrome.devtools.inspectedWindow.reload().

Kết luận

  • Điều này cho thấy những sai sót đơn giản khi chồng chất lên nhau có thể dẫn tới một lỗ hổng có mức độ nghiêm trọng cao.
  • Mã cũ không phải lúc nào cũng an toàn, và cần cân nhắc khả năng xuất hiện các lỗi tương tự.

Tóm tắt của GN⁺

  • Bài viết blog này mô tả chi tiết quá trình phát hiện và báo cáo lỗ hổng trong Chromium.
  • Lỗ hổng cho phép vượt thoát sandbox thông qua tiện ích mở rộng trình duyệt, và tác giả nhận được khoản thưởng $20,000 từ Google.
  • Bài viết này cung cấp thông tin hữu ích cho các nhà nghiên cứu bảo mật hoặc kỹ sư phần mềm, đồng thời đưa ra bài học để ngăn ngừa các lỗ hổng tương tự.
  • Với các dự án khác có tính năng tương tự, có thể tham khảo các cơ chế bảo mật của Firefox.

1 bình luận

 
GN⁺ 2024-10-18
Ý kiến trên Hacker News
  • Gợi nhớ đến trải nghiệm dùng cùng API khi gỡ lỗi shell "crosh" của Chrome OS để vượt qua cơ chế bảo vệ của hệ điều hành và giành quyền truy cập root. Tác giả bài viết này đã vượt qua những trở ngại khó hơn. Làm rất xuất sắc

  • Có thể đặt nó sau dấu # để biến thành chú thích, nhằm ngăn URL của trang bị thay thế bằng ${url}. Tò mò không biết có logic kiểm tra nào xem URL có nên được truyền vào AlternativeBrowserParameters hay không

  • Bài viết và công trình rất tuyệt. Có thể cảm nhận được sự phấn khích trong quá trình khám phá. Phần thưởng hoàn toàn xứng đáng

  • Một chuỗi lỗ hổng rất hay và bài viết rất tốt. Phần phân tích mã dễ bị tổn thương cũng rất ổn. Tôi luôn ấn tượng với những mẹo đơn giản kiểu như "Hãy nhấn F12 và thử lại"

  • Đã quá khuya để đào sâu vào vấn đề xác thực WebUI này, nhưng xin gửi lời tán dương đến người đã giải quyết nó. Chúng ta thường nghi ngờ và không hoàn toàn tin tưởng chuỗi công cụ đối với những gì mình phát hành, nhưng đồng thời lại đặt quá nhiều niềm tin vào các công cụ phát triển tiện lợi của những tập đoàn lớn như Google hay MS. Chủ yếu là vì chúng ta chỉ muốn tập trung vào việc viết và kiểm thử mã của mình

  • Thật sự là một trong những bài hay nhất tôi từng đọc. Một màn điều tra cực kỳ thông minh

  • Allen là một học sinh trung học quan tâm đến lập trình, phát triển web và an ninh mạng. Rất ấn tượng

  • Dự án Chromium đã quyết định loại bỏ chrome://net-internals vì cho rằng trang này quá phức tạp. Và họ thêm chrome://policy với hỗ trợ chỉnh sửa JSON chưa hoàn thiện

  • Một bài viết thật sự rất cuốn, cảm giác như tiểu thuyết giật gân. Một chuỗi lỗ hổng xuất sắc