Ghostcat, lỗ hổng trong Tomcat có thể thay thế mã

con mèo ma

Các nhà nghiên cứu từ Chaitin Tech, Trung Quốc đã phát hành thông tin về một khám phá mới, như họ đã xác định một lỗ hổng trong vùng chứa servlet phổ biến (Java Servlet, JavaServer Pages, Java Expression Language và Java WebSocket) Apache tomcat (đã được liệt kê là CVE-2020-1938).

Lỗ hổng này họ được gán tên mã "Ghostcat" và mức độ nghiêm trọng quan trọng (9.8 CVSS). Vấn đề cho phép trong cấu hình mặc định để gửi một yêu cầu qua cổng mạng 8009 để đọc nội dung của bất kỳ tệp nào trong thư mục ứng dụng web, bao gồm mã nguồn ứng dụng và tệp cấu hình.

Lỗ hổng cũng cho phép nhập các tệp khác vào mã ứng dụng, cho phép tổ chức thực thi mã trên máy chủ nếu ứng dụng cho phép tải tệp lên máy chủ.

Ví dụ, ứng dụng trang web có cho phép người dùng tải tệp lên hay không, kẻ tấn công có thể tính phí 1 một tệp chứa mã tập lệnh JSP độc hại trên máy chủ (bản thân tệp được tải lên có thể là bất kỳ loại tệp nào, chẳng hạn như hình ảnh, tệp văn bản thuần túy, v.v.) và sau đó bao gồm tệp đã tải lên bằng cách khai thác lỗ hổng từ Ghostcat, mà cuối cùng có thể dẫn đến thực thi mã từ xa.

Nó cũng được đề cập rằng một cuộc tấn công có thể được thực hiện nếu có thể gửi một yêu cầu đến một cổng mạng với trình điều khiển AJP. Theo số liệu sơ bộ, mạng tìm thấy hơn 1.2 triệu máy chủ chấp nhận yêu cầu bằng giao thức AJP.

Lỗ hổng bảo mật có trong giao thức AJP và nó không phải do lỗi triển khai.

Ngoài việc chấp nhận các kết nối HTTP (cổng 8080) trong Apache Tomcat, theo mặc định nó có thể truy cập vào ứng dụng web sử dụng giao thức AJP (Giao thức Apache Jserv, cổng 8009), là một tương tự nhị phân của HTTP được tối ưu hóa cho hiệu suất cao hơn, thường được sử dụng khi tạo một cụm từ máy chủ Tomcat hoặc để tăng tốc độ tương tác với Tomcat trên proxy ngược hoặc bộ cân bằng tải.

AJP cung cấp một chức năng tiêu chuẩn để truy cập các tệp trên máy chủ, có thể được sử dụng, bao gồm cả việc nhận các tệp không bị tiết lộ.

Điều này được hiểu rằng quyền truy cập vào AJP chỉ mở cho những người phục vụ đáng tin cậynhưng trên thực tế, trong cấu hình Tomcat mặc định, trình điều khiển đã được khởi chạy trên tất cả các giao diện mạng và các yêu cầu được chấp nhận mà không cần xác thực.

Có thể truy cập vào bất kỳ tệp nào trong ứng dụng web, bao gồm nội dung của WEB-INF, META-INF và bất kỳ thư mục nào khác được trả về thông qua lệnh gọi ServletContext.getResourceAsStream (). AJP cũng cho phép bạn sử dụng bất kỳ tệp nào trong các thư mục có sẵn cho ứng dụng web dưới dạng tập lệnh JSP.

Vấn đề đã rõ ràng kể từ khi nhánh Tomcat 6.x được phát hành cách đây 13 năm. Ngoài bản thân Tomcat, vấn đề cũng ảnh hưởng đến các sản phẩm sử dụng nó, chẳng hạn như Red Hat JBoss Web Server (JWS), JBoss Enterprise Application Platform (EAP), cũng như các ứng dụng web độc lập sử dụng Spring Boot.

cũng một lỗ hổng tương tự đã được tìm thấy (CVE-2020-1745) trên máy chủ web Undertow được sử dụng trong máy chủ ứng dụng Wildfly. Hiện tại, các nhóm khác nhau đã chuẩn bị hơn một chục ví dụ làm việc về việc khai thác.

Apache Tomcat đã chính thức phát hành các phiên bản 9.0.31, 8.5.51 và 7.0.100 để sửa chữa lỗ hổng này. Để sửa lỗ hổng này một cách chính xác, trước tiên bạn phải xác định xem dịch vụ Tomcat AJP Connector có được sử dụng trong môi trường máy chủ của bạn hay không:

  • Nếu cụm hoặc proxy ngược không được sử dụng, về cơ bản có thể xác định rằng AJP không được sử dụng.
  •  Nếu không, bạn cần tìm hiểu xem cụm hoặc máy chủ đảo ngược có đang giao tiếp với dịch vụ Tomcat AJP Connect không

Nó cũng được đề cập rằng các bản cập nhật hiện có sẵn trong các bản phân phối Linux khác nhau như: Debian, Ubuntu, RHEL, Fedora, SUSE.

Để giải quyết vấn đề, bạn có thể vô hiệu hóa dịch vụ Tomcat AJP Connector (liên kết socket lắng nghe với localhost hoặc nhận xét dòng với cổng Connector = »8009 ″), nếu không được yêu cầu hoặc định cấu hình quyền truy cập đã xác thực.

Nếu bạn muốn biết thêm về nó bạn có thể tham khảo liên kết sau. 


Để 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.