Lỗ hổng Bash gây ảnh hưởng trực tiếp tới Linux, Unix, Mac OS X

Một lỗ hổng nghiêm trọng vừa được công bố nằm trong cấu trúc Bourne (bash shell) đang tồn tại trong hầu hết các phiên bản của các hệ điều hành Linux, Unix và Mac OS X. Lỗ hổng phát sinh từ thực tế là bạn có thể tạo ra các biến môi trường thủ công với các giá trị đặc biệt trước khi gọi bash shell. Các biến này có thể chứa mã lệnh thực thi sẽ được thực hiện ngay sau khi bash shell được gọi. Lỗ hổng cho phép kẻ tấn công thực thi mã lệnh từ xa trên máy chủ mục tiêu hoặc đính kèm các tập tin độc hại sẽ được thực hiện mỗi khi bash được gọi đến. Một số kịch bản khai thác của lỗ hổng này có thể được lợi dụng để khai thác như:

  • Các máy chủ Apache có sử dụng mod_cgi hoặc mod_cgid cũng có thể bị ảnh hưởng.
  • ForceCommand được sử dụng trong việc cấu hình SSHD để giới hạn các lệnh mà người dùng có thể thực thi từ xa. Tuy nhiên với lỗ hổng này kẻ tấn công có thể lợi dụng và bỏ qua các hạn chế đó để thực hiện các lệnh tùy ý.
  • DHCP clients gọi một shell scripts để cấu hình hệ thống, với các giá trị có được khi máy chủ bị lỗ hổng này cho phép client đó thực hiện các lệnh tùy ý như với quyền root trên chính DHCP client.

Lỗ hổng đang tồn tại trên tất cả các phiên bản của bash và có mặt ở  hầu hết các hệ thống Linux, UNIX và các Mac OS. Điều khiến lỗ hổng trở nên nghiêm trọng hơn là nó có thể thực hiện khai thác rất đơn giản. Đây là lỗ hổng được đánh giá ở mức độ nguy hiểm tương đương với lỗ hổng “trái tim rỉ máu” trong OpenSSL. Để kiểm tra hệ thống của mình có tồn tại lỗ hổng hay không, các quản trị có thể thực hiện chạy đoạn lệnh sau trên máy chủ:

Nếu kết quả như bên dưới thì hệ thống của bạn đang tồn tại lỗ hổng và nên thực hiện việc cập nhật và khắc phục ngayenv x='() { :;}; echo vulnerable' bash -c "echo test vulnerability from securitydaily"
vulnerable
test vulnerability from securitydailyHệ thống được cho là an toàn nếu kết quả như sau:env x='() { :;}; echo vulnerable' bash -c "echo test vulnerability from securitydaily"
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'

test vulnerability from securitydaily

Bản vá lỗi đã bắt đầu được tung ra ngay khi có cảnh báo.  Nếu hệ thống của bạn đang sử dụng Red Hat, Centos… thì bản vá đã sẵn sàng để cập nhật. Hãy thực hiện update ngay, thực hiện bằng câu lệnh dưới đây

yum update
hoặc
yum update bash
(không cần khởi động lại hệ thống)

Sau khi cập nhật hệ thống bạn nên kiểm tra lại việc tồn lại lỗ hổng trên hệ thống của mình và chắc chắn rằng nó đã được khắc phục. Các bản vá này sẽ đảm bảo rằng các mã thực thi sẽ không được gọi đến sau khi kết thúc một chức năng trong bash. Rất nhiều trường hợp hệ thống của bạn bị tin tặc tấn công, nhưng đó không phải là lỗi bạn hay của các quản trị viên. Heartbleed OpenSSL là một ví dụ và lỗ hổng này cũng vậy. Vì vậy, hãy liên tục cập nhật các bản vá, các tin tức về lỗ hổng, cảnh báo mới nhất để có hình thức khắc phục và phản ứng kịp thời.

Chia sẻ bài viết này