Lỗ hổng nghiêm trọng trong bộ tải khởi động GRUB2 cho phép bạn vượt qua Khởi động an toàn UEFI

Trong bộ tải khởi động GRUB2 tiết lộ 8 lỗ hổng. Nguy hiểm nhất vấn đề (CVE-2020-10713), có tên mã là BootHole, cho một cơ hội bỏ qua cơ chế Khởi động an toàn UEFI và cài đặt phần mềm độc hại chưa được xác minh. Điểm đặc biệt của lỗ hổng này là để loại bỏ nó, việc cập nhật GRUB2 là chưa đủ, vì kẻ tấn công có thể sử dụng phương tiện có khả năng khởi động với phiên bản dễ bị tấn công cũ được chứng nhận bằng chữ ký số. Kẻ tấn công có thể xâm phạm quy trình xác minh không chỉ của Linux mà còn của các hệ điều hành khác, bao gồm cả Windows.

Vấn đề chỉ có thể được giải quyết bằng cách cập nhật hệ thống danh sách thu hồi chứng chỉ (dbx, Danh sách thu hồi UEFI), nhưng trong trường hợp này khả năng sử dụng phương tiện cài đặt cũ với Linux sẽ bị mất. Một số nhà sản xuất thiết bị đã đưa danh sách cập nhật các chứng chỉ thu hồi vào chương trình cơ sở của họ; trên các hệ thống như vậy, chỉ các bản phân phối Linux được cập nhật mới có thể được tải ở chế độ Khởi động an toàn UEFI.

Để loại bỏ lỗ hổng bảo mật trong các bản phân phối, bạn cũng cần cập nhật trình cài đặt, bộ tải khởi động, gói kernel, chương trình cơ sở fwupd và lớp shim, tạo chữ ký số mới cho chúng. Người dùng sẽ được yêu cầu cập nhật hình ảnh cài đặt và phương tiện có thể khởi động khác, cũng như tải danh sách thu hồi chứng chỉ (dbx) vào chương trình cơ sở UEFI. Trước khi cập nhật dbx lên UEFI, hệ thống vẫn dễ bị tổn thương bất kể cài đặt các bản cập nhật trong HĐH.

Tính dễ bị tổn thương gây ra lỗi tràn bộ đệm có thể bị khai thác để thực thi mã tùy ý trong quá trình khởi động.
Lỗ hổng xảy ra khi phân tích nội dung của tệp cấu hình grub.cfg, thường nằm trong ESP (Phân vùng hệ thống EFI) và có thể bị kẻ tấn công chỉnh sửa bằng quyền quản trị viên mà không vi phạm tính toàn vẹn của các tệp thực thi GRUB2 và shim đã ký. Bởi vì Lỗi trong mã trình phân tích cú pháp cấu hình, trình xử lý các lỗi phân tích cú pháp nghiêm trọng YY_FATAL_ERROR chỉ hiển thị cảnh báo nhưng không chấm dứt chương trình. Rủi ro về lỗ hổng được giảm bớt do nhu cầu có quyền truy cập đặc quyền vào hệ thống; tuy nhiên, vấn đề có thể cần thiết là giới thiệu các rootkit ẩn nếu bạn có quyền truy cập vật lý vào thiết bị (nếu có thể khởi động từ phương tiện của riêng bạn).

Hầu hết các bản phân phối Linux đều sử dụng một phần mềm nhỏ lớp chêm, được ký điện tử bởi Microsoft. Lớp này xác minh GRUB2 bằng chứng chỉ riêng, cho phép các nhà phát triển phân phối không có mọi bản cập nhật kernel và GRUB được Microsoft chứng nhận. Lỗ hổng này cho phép, bằng cách thay đổi nội dung của grub.cfg, đạt được việc thực thi mã của bạn ở giai đoạn sau khi xác minh miếng chêm thành công, nhưng trước khi tải hệ điều hành, hãy tham gia vào chuỗi tin cậy khi chế độ Khởi động an toàn đang hoạt động và giành được toàn quyền kiểm soát qua quá trình khởi động tiếp theo, bao gồm tải một hệ điều hành khác, sửa đổi các thành phần hệ điều hành và bỏ qua bảo vệ Lockdown.

Lỗ hổng nghiêm trọng trong bộ tải khởi động GRUB2 cho phép bạn vượt qua Khởi động an toàn UEFI

Các lỗ hổng khác trong GRUB2:

  • CVE-2020-14308 — tràn bộ đệm do thiếu kiểm tra kích thước của vùng bộ nhớ được phân bổ trong grub_malloc;
  • CVE-2020-14309 - tràn số nguyên trong grub_squash_read_symlink, có thể dẫn đến dữ liệu được ghi vượt quá bộ đệm được phân bổ;
  • CVE-2020-14310 - tràn số nguyên trong read_section_from_string, có thể dẫn đến việc ghi dữ liệu vượt quá bộ đệm được phân bổ;
  • CVE-2020-14311 - tràn số nguyên trong grub_ext2_read_link, có thể dẫn đến dữ liệu được ghi vượt quá bộ đệm được phân bổ;
  • CVE-2020-15705 — cho phép bạn tải các hạt nhân không dấu trong khi khởi động trực tiếp ở chế độ Khởi động an toàn mà không cần lớp chêm;
  • CVE-2020-15706 — truy cập vào vùng bộ nhớ đã được giải phóng (use-after-free) khi xác định lại một hàm trong thời gian chạy;
  • CVE-2020-15707 — tràn số nguyên trong trình xử lý kích thước initrd.

Cập nhật gói hotfix đã được phát hành cho Debian, Ubuntu, RHEL и SUSE. Dành cho GRUB2 đề xuất tập hợp các bản vá lỗi.

Nguồn: opennet.ru

Thêm một lời nhận xét