Bản vá cho lỗ hổng leo thang đặc quyền trong n_hdlc Linux

By | 7:30 pm | 17/03/2017

linux-kernel-double-free-vulnerability

Race Condition là khi 2 tiến trình khác nhau cần phải thực hiện các nhiệm vụ của chúng trên cùng một tài nguyên. Các tiến trình cần phải tuân theo đúng trình tự (correct sequence). Tiến trình 1 cần thực hiện nhiệm vụ của nó trước khi tiến trình 2 truy cập đến cùng một tài nguyên và thực hiện nhiệm vụ của tiến trình 2. Nếu tiến trình 2 đi trước tiến trình 1, kết quả có thể rất khác biệt. Nếu kẻ tấn công có thể thao tác các tiến trình để cho tiến trình 2 thực hiện trước nhiệm vụ của nó, anh ta có thể kiểm soát được kết quả.

Lỗ hổng race condition n_hdlc (drivers/tty/n_hdlc.c) đã tồn tại trong trình điều khiển của nhân Linux từ 22/6/2009 và ảnh hưởng đến số lượng lớn các bản phân phối của Linux bao gồm Red Hat, Debian, Fedora, OpenSURE và Ubuntu. Kẻ tấn công có thể khai thác lỗ hổng này để thực hiện leo thang đặc quyền cục bộ hoặc có thể là lý do dẫn đến một cuộc tấn công từ chối dịch vụ.

, nhà nghiên cứu của , đã phát hiện ra lỗ hổng CVE-2017-2636, là một lỗ hổng race condition trong n_hdlc, trong quá trình thử nghiệm các lời gọi hệ thống bằng syzkaller fuzzer, một phần mềm kiểm tra mã bảo mật được phát triển bởi Google, dẫn đến lỗi double-free. 28/2/2017 đã báo cáo lỗ hổng này cho kernel.org cùng với mẫu khai thác cũng như cung cấp bản vá để khắc phục vấn đề.

Lỗi “Double free” xảy ra khi hàm free() được gọi nhiều hơn 1 lần với cùng 1 địa chỉ nhớ. Kẻ tấn công có thể sử dụng lỗ hổng này để chèn vào các mã độc hại và thực thi mã tùy ý trong khi người dùng đăng nhập.

Lỗ hổng ảnh hưởng đến phần lớn các bản phân phối phổ biến của Linux bao gồm Red Hat Enterprise Linux 6, 7, Fedora, SUSE, Debian và Ubuntu.

Kể từ khi lỗ hổng xuất hiện vào tháng 6/2009, các máy chủ và thiết bị Linux đã bị ảnh hưởng trong thời gian dài, nhưng theo Alexander Popov, khó có thể khẳng định liệu lỗ hổng này có bị khai thác trong tự nhiên hay không.

Lỗ hổng đã được vá trong nhân Linux, và các bản cật nhật an toàn cùng thông tin lỗ hổng đã được công bố vào ngày 7 tháng 3.

Do đó, người dùng nên cật nhật bản vá sớm nhất có thể, bên cạnh đó, nếu không thế áp dụng các bản vá thì cũng có thể chặn các module chứa lỗ hổng n_hdlc theo cách thủ công để bảo vệ khỏi sự tấn công này.