Rủi ro bảo mật Giá trị Sentinel Chrome V8: Rò rỉ đối tượng Oddball chưa được khởi tạo có thể dẫn đến việc thoát khỏi hộp cát

robot
Đang tạo bản tóm tắt

Sentinel Value trong Chrome V8 có rủi ro an toàn

Giá trị Sentinel là giá trị đặc biệt trong thuật toán, thường được sử dụng làm điều kiện kết thúc cho vòng lặp hoặc đệ quy. Trong mã nguồn của Chrome có nhiều loại giá trị Sentinel, trong đó một số nếu bị rò rỉ vào môi trường JavaScript có thể gây ra vấn đề bảo mật.

Trước đây đã có nghiên cứu cho thấy, việc rò rỉ đối tượng TheHole có thể thực hiện việc thực thi mã tùy ý trong sandbox. Nhóm Google đã sửa chữa điều này. Nhưng thực tế, trong V8 còn có những đối tượng nguyên thủy khác không nên bị rò rỉ ra JS, như đối tượng Uninitialized Oddball.

Việc rò rỉ đối tượng Oddball chưa được khởi tạo có thể dẫn đến việc thoát khỏi sandbox. Vấn đề này lần đầu tiên xuất hiện trong Issue1352549 và hiện vẫn chưa được sửa chữa. Phương pháp này có tính tổng quát nhất định và đã xuất hiện trong nhiều lỗ hổng.

Các đối tượng gốc trong V8 được định nghĩa trong tệp v8/src/roots/roots.h, chúng được sắp xếp sát nhau trong bộ nhớ. Khi những đối tượng này bị rò rỉ vào môi trường JavaScript, nó có thể dẫn đến việc thoát khỏi sandbox.

Độc quyền tiết lộ cách vượt qua Chrome v8 HardenProtect thông qua việc rò rỉ Sentinel Value

Để xác minh vấn đề này, có thể sửa đổi hàm native của V8 để làm lộ Uninitialized Oddball trong JavaScript. Cụ thể có thể sửa đổi cách triển khai hàm %TheHole().

Độc quyền tiết lộ cách vượt qua Chrome v8 HardenProtect thông qua việc rò rỉ Sentinel Value

Việc sử dụng đối tượng Uninitialized Oddball có thể vượt qua bảo vệ HardenType. Bằng cách xây dựng mã JavaScript cụ thể, có thể thực hiện việc đọc và ghi bộ nhớ gần như tùy ý. Điều này xảy ra do mã đã được tối ưu hóa không kiểm tra đầy đủ các thuộc tính của đối tượng.

Tiết lộ độc quyền cách vượt qua Chrome v8 HardenProtect bằng cách rò rỉ Giá trị Sentinel

Độc quyền tiết lộ cách vượt qua Chrome v8 HardenProtect thông qua việc rò rỉ Sentinel Value

Tiết lộ độc quyền cách vượt qua HardenProtect của Chrome bằng cách rò rỉ Sentinel Value

Tiết lộ độc quyền cách vượt qua Chrome v8 HardenProtect thông qua việc rò rỉ Sentinel Value

Khám phá độc quyền cách vượt qua Chrome v8 HardenProtect bằng cách rò rỉ Sentinel Value

Đối với các đề xuất sửa chữa, khi hàm đã được tối ưu hóa trả về phần tử của mảng, cần thêm kiểm tra đối với mảng map để tránh tính toán trực tiếp giá trị trả về của độ lệch.

Vấn đề này cũng nhắc nhở chúng ta chú ý đến PatchGap, tức là một số phần mềm có thể đang sử dụng phiên bản V8 chưa được sửa lỗi. Ví dụ, Skype hiện vẫn chưa sửa được vấn đề này. Trong kiến trúc x86, do không có nén địa chỉ, có thể thực hiện đọc và ghi tùy ý trong phạm vi tiến trình.

Tiết lộ độc quyền cách vượt qua HardenProtect của Chrome thông qua việc rò rỉ Sentinel Value

Tiết lộ độc quyền cách vượt qua Chrome v8 HardenProtect thông qua việc rò rỉ Sentinel Value

Nói chung, trong V8 còn có nhiều giá trị Sentinel có thể tồn tại những nguy cơ an ninh tương tự. Đề xuất nghiên cứu thêm về tác động của các Oddball chưa khởi tạo khác bị rò rỉ, xem xét đưa các đối tượng này vào phạm vi thử nghiệm mờ để phát hiện nhiều cách khai thác tiềm ẩn hơn. Dù sao đi nữa, những vấn đề này có thể rút ngắn đáng kể chu kỳ khai thác lỗ hổng của kẻ tấn công.

Xem bản gốc
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Phần thưởng
  • 5
  • Chia sẻ
Bình luận
0/400
DuckFluffvip
· 13giờ trước
Ôi chao, lỗ hổng này nghe thật tuyệt!~
Xem bản gốcTrả lời0
ShitcoinConnoisseurvip
· 07-11 14:18
Còn không mau sửa chữa đi? v8 đang làm gì vậy?
Xem bản gốcTrả lời0
WhaleMistakervip
· 07-11 02:45
lỗ hổng lớn của chrome lại xuất hiện
Xem bản gốcTrả lời0
LiquidityWitchvip
· 07-11 02:42
Hừ, lại phát hiện ra lỗ hổng.
Xem bản gốcTrả lời0
ParallelChainMaxivip
· 07-11 02:35
Thật là một tay khéo léo.
Xem bản gốcTrả lời0
  • Ghim
Giao dịch tiền điện tử mọi lúc mọi nơi
qrCode
Quét để tải xuống ứng dụng Gate
Cộng đồng
Tiếng Việt
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)