Phát hiện lỗ hổng tràn bộ đệm trên hệ điều hành FreeBSD

09:00 | 16/12/2014

Các nhà nghiên cứu tại công ty Norse đã xác định được một lỗ hổng nghiêm trọng trong FreeBSD - hệ điều hành Unix được sử dụng phổ biến trên máy chủ, máy tính cá nhân và các nền tảng nhúng.

Lỗ hổng tràn bộ đệm (CVE-2014-8611) ảnh hưởng đến hàm “__sflush()” trong thư viện chuẩn I/O (stdio) của hệ điều hànhFreeBSD. Lỗ hổng này có thể được sử dụng để gây tràn bộ đệm ở vùng lưu trữ động (heap), làm hỏng dữ liệu hoặc thực thi mã với quyền của chương trình gọi hàm (là điều kiện để tạo ra cuộc tấn công DoS). Thư viện chuẩn I/O cung cấp một giao diện luồng đệm vào ra đơn giản và hiệu quả như việc ghi dữ liệu đệm khi dữ liệu đầy hoặc khi ứng dụng yêu cầu gọi hàm fflush(3). Một lỗi lập trình trong hàm __sflush() của thư viện giúp tin tặc có thể tùy chỉnh trạng thái nội bộ một luồng đệm vào/ra ngay cả khi không có dữ liệu nào được ghi. Lỗ hổng tràn bộ đệm này được phát hiện trên phiên bản 10.1 của hệ điều hành FreeBSD.
Hai chuyên gia cao cấp của Norse là Adrian Chadd và Alfred Perlsteinđã phát hiện ra lỗ hổng này trong quá trình phát triển một dòng sản phẩm của công ty và họ cũng tạo ra một bản vá lỗi gửi đến các nhà phát triển FreeBSD.

Để khắc phục lỗ hổng này, người quản trị cần thực hiện một trong các cách sau:
- Nâng cấp hệ thống lên phiên bản hệ điều hành FreeBSD ổn định hoặc mới nhất.
- Cập nhật hệ thống thông qua một bản vá nhị phân:
 # freebsd-update fetch                                                                                                                                                                                  
# freebsd-update install
- Cập nhật hệ thống thông qua một bản vá mã nguồn bằng cách tải các bản vá và biên dịch lại hệ điều hành bằng buildworld và installworld. Kết thúc quá trình cập nhật bằng việc khởi động lại hệ thống:
 # fetch http://security.FreeBSD.org/patches/SA-14:27/stdio.patch                                                                                                       
# fetch http://security.FreeBSD.org/patches/SA-14:27/stdio.patch.asc
# gpg --verify stdio.patch.asc
# cd /usr/src
# patch < /path/to/patch
FreeBSD cũng là một trong nhiều hệ điều hành kiểu Unix bị ảnh hưởng bởi lỗ hổng trong tnftp FTP client có thể bị khai thác để thực thi lệnh tùy ý. Lỗ hổng này đã được báo cáo vào cuối tháng 10 và FreeBSD cũng đã phát hành bản vá sau một vài ngày.