Dirty Pipe, một trong những lỗ hổng nghiêm trọng nhất trong nhiều năm qua trên Linux

Gần đây, tin tức đã được phát hành trên mạng về việc phát hiện ra một lỗ hổng mới trong Linux được liệt kê là "Mức độ nghiêm trọng cao" ảnh hưởng đến tất cả các hạt nhân kể từ phiên bản 5.8, cũng như các công cụ phái sinh, bao gồm cả Android.

Được biết như Dirty Pipe cho phép ghi đè dữ liệu trong các tệp chỉ đọc và có thể dẫn đến leo thang các đặc quyền bằng cách đưa mã vào các quy trình "gốc".

Mặc dù nó đã được vá vào nhân Linux dòng chính, nhưng lỗi này có thể được vũ khí hóa dưới dạng khai thác leo thang đặc quyền trên tất cả các thiết bị chạy nhân Linux phiên bản 5.8 trở lên.

Điều đó cũng có nghĩa là một loạt điện thoại thông minh Android mới phát hành, như Samsung Galaxy S22 và Google Pixel 6, cũng dễ bị tấn công, cho đến khi mỗi thiết bị nhận được bản vá hạt nhân thích hợp từ OEM tương ứng.

Giới thiệu về ống bẩn

Lỗ hổng bảo mật là tiết lộ bởi nhà nghiên cứu bảo mật Max Kellerman và được xếp vào danh mục là (CVE-2022-0847), phải mất vài tháng để tìm ra cách khai thác bằng chứng khái niệm.

Lỗ hổng cho phép người dùng không có đặc quyền chèn và ghi đè dữ liệu trong các tệp chỉ đọc, bao gồm cả các quy trình SUID chạy dưới dạng root. Biệt danh thông tục dường như là một trò chơi của lỗi khét tiếng Bò bẩn và một cơ chế Linux được gọi là pipelining để truyền thông điệp liên quá trình, vì cơ chế sau được sử dụng trong quy trình khai thác.

Tất cả bắt đầu từ một năm trước với một phiếu hỗ trợ liên quan đến các tệp bị hỏng. Một khách hàng phàn nàn rằng không thể giải nén các bản ghi truy cập đã tải xuống. Và thực sự, có một tệp nhật ký bị hỏng trên một trong các máy chủ nhật ký; nó có thể không được nén, nhưng gzip đã báo lỗi CRC. Tôi không thể giải thích tại sao nó bị hỏng, nhưng tôi cho rằng quá trình phân tách hàng đêm đã bị lỗi và tạo ra một tệp bị hỏng. Tôi đã sửa CRC của tệp theo cách thủ công, đóng vé và nhanh chóng quên đi sự cố.

Sau nhiều tháng phân tích, nhà nghiên cứu cuối cùng đã phát hiện ra rằng các tệp khách hàng bị hỏng là kết quả của một lỗi trong nhân Linux. Anh ta đã tìm ra cách khai thác Dirty Pipe để cho phép bất kỳ ai có tài khoản, kể cả tài khoản "không ai" ít đặc quyền hơn, thêm khóa SSH vào tài khoản người dùng gốc.

Để kích hoạt lỗ hổng, Kellerman đã chia sẻ khái niệm bằng chứng của mình, kẻ tấn công phải có quyền đọc. Ngoài ra, thao tác cuộn không được nằm trên ranh giới trang, việc viết không được vượt qua ranh giới trang và không thể thay đổi kích thước tệp.

Để khai thác lỗ hổng này, bạn phải: tạo một đường ống, điền vào đường ống với dữ liệu tùy ý (bằng cách đặt cờ PIPE_BUF_FLAG_CAN_MERGE trên tất cả các mục trong vòng), làm trống đường ống (để cờ được đặt trên tất cả các trường hợp của cấu trúc pipe_buffer trong cấu trúc của vòng pipe_inode_info), hợp nhất dữ liệu từ tệp đích (được mở bằng O_RDONLY) vào đường ống ngay trước khoảng lệch đích và ghi dữ liệu tùy ý vào đường ống.

Dirty Pipe cũng ảnh hưởng đến bất kỳ phiên bản Android nào dựa trên một trong những phiên bản dễ bị tấn công của nhân Linux. Vì Android quá phân mảnh, các kiểu thiết bị bị ảnh hưởng không thể được theo dõi một cách thống nhất.

Theo Kellerman, Google đã hợp nhất bản sửa lỗi của mình với nhân Android vào tháng trước, ngay sau khi nó được sửa với việc phát hành các phiên bản hạt nhân Linux 5.16.11, 5.15.25 và 5.10.102.

Phải nói rằng, chúng ta có thể sẽ phải đợi một chút trước khi các OEM bắt đầu tung ra các bản cập nhật Android có bản sửa lỗi. Ví dụ, Pixel 6 của Google vẫn dễ bị tấn công, nhưng người dùng nâng cao có thể giảm thiểu lỗ hổng này bằng cách cài đặt một nhân hậu mãi được vá tùy chỉnh như một tùy chọn thay thế.

Các nhà phát triển nhân Linux đã phát hành các bản sửa lỗi (5.16.11, 5.15.25, 5.10.102) vào ngày 23 tháng 24, trong khi Google đã vá lỗi cho nhân Android vào ngày XNUMX tháng XNUMX. Kellermann và các chuyên gia khác đã so sánh lỗ hổng bảo mật với CVE-2016-5195 “Con bò bẩn” và họ cho biết nó thậm chí còn dễ khai thác hơn.

Cuối cùng, nếu bạn quan tâm muốn biết thêm về nó, bạn có thể tham khảo chi tiết Trong liên kết sau đây.


Để 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: Miguel Ángel Gatón
  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.