Lỗ hổng Apache Struts2 cho phép tin tặc chiếm quyền điều khiển máy chủ web

09:20 | 19/09/2017

Mới đây, các chuyên gia an ninh mạng của công ty LGTM (Hoa Kỳ) đã phát hiện một lỗ hổng cho phép thực thi mã từ xa trong bộ khung Apche Struts.

Apache Struts là bộ khung mã nguồn mở miễn phí sử dụng kiến trúc Model View Controller (MVC) để phát triển các ứng dụng web bằng ngôn ngữ lập trình Java, hỗ trợ REST, AJAX và JSON.

Lỗ hổng Apache Struts2 được định danh CVE-2017-9805, là một lỗi lập trình nằm trong quá trình xử lý dữ liệu của Struts đối với các dữ liệu chưa qua kiểm duyệt.

Các phiên bản của Apache Struts từ năm 2008, cụ thể là phiên bản từ 2.5 - 2.5.12 đều bị ảnh hưởng. Điều này dẫn đến việc tất cả các ứng dụng web sử dụng plugin REST của bộ khung này đều có thể bị khai thác lỗ hổng.

Theo chuyên gia an ninh mạng của LGTM: rất nhiều tổ chức lớn khác nhau trên thế giới như Lockheed Martin, Vodafone, Virgin Atlantic và IRS đang sử dụng bộ khung Struts. Bên cạnh đó, chuyên gia LGTM khẳng định rằng, tin tặc chỉ cần sử dụng trình duyệt web là có thể tiến hành khai thác lỗ hổng này bằng cách gửi một đoạn mã XML có chứa đoạn mã độc hại dưới một định dạng cụ thể đến máy chủ nạn nhân.

Nếu khai thác thành công, tin tặc có thể hoàn toàn kiểm soát máy chủ. Từ đó, thâm nhập vào các hệ thống khác trong cùng mạng.

Rất nhiều ứng dụng Java cũng bị ảnh hưởng bởi lỗ hổng tương tự trong những năm gần đây.

Lỗ hổng CVE-1017-9805 đã được vá trong Struts phiên bản 2.5.13, các quản trị viên cần nâng cấp cài đặt bộ khung Apache Struts sớm nhất.

Thông tin chi tiết kỹ thuật cũng như minh chứng cách khai thác lỗ hổng đã được các nhà nghiên cứu công bố tại đây.