Hai lỗ hổng được phát hiện trong Linux Kernel vẫn cho phép người dùng nâng cao đặc quyền của họ 

dễ bị tổn thương

Nếu bị khai thác, những lỗ hổng này có thể cho phép kẻ tấn công truy cập trái phép vào thông tin nhạy cảm hoặc thường gây ra sự cố

Một vài ngày trước, tin tức đã phá vỡ rằng Hai lỗ hổng được phát hiện trong các hệ thống con của nền tảng Linux, Netfilter và io_uring, cho phép người dùng cục bộ nâng cao đặc quyền của họ trên hệ thống.

Đầu tiên là lỗ hổng. (CVE-2023-32233) đã được phát hiện trong hệ thống con Netfilter và gây ra bởi truy cập bộ nhớ sử dụng sau khi sử dụng miễn phí trong mô-đun nf_tables, đảm bảo hoạt động của bộ lọc gói nftables.

Lỗi này là do netfilter nf_tables cho phép cập nhật cấu hình của nó cho các yêu cầu hàng loạt nhóm lại với nhau nhiều thao tác cơ bản trong các giao dịch nguyên tử.

Vấn đề đã được sao chép trong các phiên bản khác nhau của nhân Linux, bao gồm cả Linux 6.3.1 (ổn định hiện tại) và lỗ hổng có thể bị khai thác bằng cách gửi các yêu cầu được chế tạo đặc biệt để cập nhật cấu hình nftables. Người ta đề cập rằng cuộc tấn công yêu cầu quyền truy cập vào nftables, có thể lấy được trong một không gian tên mạng riêng nếu bạn có quyền CLONE_NEWUSER, CLONE_NEWNS hoặc CLONE_NEWNET (ví dụ: nếu bạn có thể chạy một vùng chứa bị cô lập).

Về lỗi này, nhà nghiên cứu đã xác định vấn đề đã hứa sẽ hoãn việc công bố thông tin chi tiết và ví dụ về một khai thác đang hoạt động trong một tuần để cung cấp trình bao gốc.

Trong một trường hợp cụ thể, một yêu cầu lô không hợp lệ có thể chứa một thao tác xóa ngầm một bộ nft ẩn danh hiện có, sau đó là một thao tác khác cố gắng thực hiện trên cùng một bộ nft ẩn danh sau khi nó bị xóa. Trong trường hợp trên, một ví dụ về thao tác trên là xóa quy tắc nft hiện có sử dụng bộ ẩn danh nft. Và một ví dụ về thao tác thứ hai là một nỗ lực loại bỏ một phần tử khỏi mảng ẩn danh nft đó sau khi mảng được loại bỏ luân phiên, thao tác thứ hai thậm chí có thể cố gắng loại bỏ rõ ràng mảng ẩn danh nft đó một lần nữa. 

Như đã đề cập ở phần đầu, việc này đã diễn ra vài ngày trước và việc khai thác cũng như thông tin đã được tiết lộ. Khai thác cũng như các chi tiết của nó có thể được tìm thấy tại liên kết sau.

Lỗi thứ hai được phát hiện, là lỗ hổng (CVE-2023-2598) trong việc triển khai giao diện I/O không đồng bộ io_uring được bao gồm trong nhân Linux kể từ phiên bản 5.1.

Sự cố xảy ra do lỗi trong hàm io_sqe_buffer_register, cho phép truy cập vào bộ nhớ vật lý bên ngoài giới hạn của bộ đệm được cấp phát tĩnh. Sự cố chỉ xuất hiện trong nhánh 6.3 và sẽ được khắc phục trong bản cập nhật 6.3.2 tiếp theo.

Người ta đề cập rằng ý tưởng đằng sau cam kết ban đầu là thay vì chia các trang lớn được lưu vào bộ đệm thành các mục nhập bvec riêng lẻ, bạn có thể có một mục nhập bvec duy nhất cho tất cả các phần được lưu vào bộ đệm của trang. Cụ thể, nếu tất cả các trang trong bản đồ bộ đệm sử dụng cấu trúc trang đầu tiên và độ dài bộ đệm trong một mục nhập bvec duy nhất thay vì ánh xạ từng trang riêng lẻ.

Vì vậy, bvec sẽ mở rộng ra ngoài một trang mà nó thực sự được phép chạm vào. Sau đó, IORING_OP_READ_FIXED và IORING_OP_WRITE_FIXED cho phép chúng ta đọc và ghi vào bộ đệm (nghĩa là bộ nhớ được chỉ định bởi bvec) theo ý muốn. Điều này cho phép truy cập đọc/ghi vào bộ nhớ vật lý đằng sau trang duy nhất mà chúng tôi thực sự có.

Ấn phẩm về lỗ hổng đề cập đến các bước tái tạo lỗi:

1. Tạo một memfd
2. Lỗi một trang trong bộ mô tả tệp đó
3. Sử dụng MAP_FIXED để ánh xạ trang này nhiều lần, tới các vị trí liên tiếp
4. Đăng ký toàn bộ khu vực bạn vừa điền vào trang đó dưới dạng
bộ đệm cố định với IORING_REGISTER_BUFFERS
5. Sử dụng IORING_OP_WRITE_FIXED để ghi bộ đệm vào một số tệp khác
(OOB read) hoặc IORING_OP_READ_FIXED để đọc dữ liệu trong bộ đệm (
viết OOB).

Cuối cùng, điều đáng nói là đã có sẵn  một nguyên mẫu khai thác đang hoạt động (CVE-2023-2598) để thử nghiệm, cho phép bạn chạy mã với các đặc quyền của kernel.

Lỗ hổng (CVE-2023-32233) Nó đã được sửa trong bản cập nhật 6.4-rc và bạn có thể theo dõi cách khắc phục lỗ hổng trong các bản phân phối trên các trang: DebianUbuntuGentooRHELFedoraSUSE/openSUSEArch.


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: AB Internet Networks 2008 SL
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.