Tải tệp không hạn chế trong plugin CKEditor cho Redmine có thể dẫn đến thực thi mã trên máy chủ

Lưu ý: Dữ liệu này chỉ có tính chất tham khảo, phục vụ nghiên cứu an ninh mạng.CyStack khuyến nghị người dùng không sử dụng các thông tin này nhằm các mục đích bất hợp pháp

Giới thiệu chung

Dữ liệu gốc

Đã phát hiện một lỗ hổng tải tệp không hạn chế trong tính năng ‘Browse and upload images’ của plugin CKEditor v1.2.3 cho Redmine, cho phép tải các tệp tùy ý lên máy chủ.

Sản phẩm và phạm vi ảnh hưởng

  • Plugin CKEditor cho Redmine phiên bản 1.2.3 được ghi nhận là bị ảnh hưởng.
  • Bản ghi và tài liệu kỹ thuật được kiểm tra không cung cấp phiên bản đã sửa lỗi, phạm vi nhánh phát hành khác hoặc điều kiện xác nhận trạng thái an toàn của các phiên bản khác.
  • Vì vậy, trạng thái của các phiên bản plugin khác ngoài 1.2.3 vẫn chưa được xác định từ bằng chứng hiện có.

Chi tiết kỹ thuật

Thành phần bị ảnh hưởng là plugin CKEditor cho Redmine, cụ thể là tính năng Browse and upload images. Cơ chế kiểm soát loại tệp của tính năng tải lên không ngăn chặn đầy đủ tệp nguy hiểm, do đó dữ liệu do kẻ tấn công kiểm soát có thể được ghi lên máy chủ dưới dạng tệp tùy ý. Báo cáo kỹ thuật công khai cho biết đường dẫn gốc của tệp tải lên có thể bị lộ; nếu máy chủ ánh xạ tệp đó tới trình xử lý có khả năng thực thi, việc truy cập trực tiếp có thể dẫn đến thực thi mã trong cấu hình tương thích. Bản ghi chuẩn hóa mô tả khả năng truy cập qua mạng, không yêu cầu xác thực và không cần tương tác của người dùng. Tuy nhiên, route chính xác, thư mục lưu trữ, cơ chế xử lý tệp phía máy chủ và việc mọi triển khai Redmine có thực thi tệp tải lên hay không vẫn chưa được xác nhận.

Khả năng khai thác

Bản ghi cho biết việc khai thác có thể thực hiện qua mạng, với độ phức tạp thấp, không yêu cầu đặc quyền và không cần người dùng tương tác. Bản ghi cũng đánh dấu đã có public exploit; báo cáo kỹ thuật công khai mô tả việc tải lên tệp nguy hiểm và khả năng dẫn tới thực thi mã trong môi trường thử nghiệm phù hợp. Chưa có bằng chứng trong dữ liệu được cung cấp về một chiến dịch, nạn nhân hoặc việc khai thác thực tế ngoài môi trường trình diễn. Việc khai thác thành công vẫn phụ thuộc vào cấu hình xử lý tệp và khả năng truy cập tới tệp đã tải lên.

Tác động kỹ thuật

Lỗ hổng cho phép đưa tệp tùy ý vào máy chủ thông qua chức năng tải ảnh. Trong môi trường mà tệp tải lên được phục vụ bởi trình xử lý có khả năng thực thi, kết quả kỹ thuật có thể là thực thi mã với quyền của tiến trình Redmine hoặc web server, từ đó ảnh hưởng đến tính bảo mật, toàn vẹn và khả dụng của hệ thống. Tác động không nhất thiết vượt ra ngoài máy chủ bị ảnh hưởng, và quyền thực tế của kẻ tấn công phụ thuộc vào tài khoản dịch vụ cùng cấu hình máy chủ. Báo cáo công khai cho thấy khả năng thực thi mã trong môi trường thử nghiệm, nhưng không xác định mức đặc quyền cao hơn, phạm vi truy cập mạng nội bộ hoặc hậu quả đối với mọi cấu hình triển khai.

Tác động đến tổ chức

  • Tệp do kẻ tấn công kiểm soát có thể được đặt lên máy chủ ứng dụng thay vì chỉ cho phép hình ảnh an toàn.
  • Nếu tệp tải lên được web server hoặc runtime xử lý như mã thực thi, kẻ tấn công có thể thực thi mã với quyền của tiến trình dịch vụ web. Đây là khả năng phụ thuộc vào cấu hình máy chủ, không phải kết quả được xác nhận cho mọi triển khai.
  • Việc thực thi mã có thể dẫn đến thay đổi dữ liệu, truy cập trái phép vào thông tin mà tài khoản dịch vụ có thể đọc, hoặc làm gián đoạn dịch vụ.
  • Việc lộ đường dẫn gốc của tệp làm tăng khả năng tệp tải lên bị truy cập trực tiếp.

Cách khắc phục

  1. Xác định và xử lý mọi triển khai đang chạy plugin CKEditor cho Redmine phiên bản 1.2.3. Hiện chưa có phiên bản sửa lỗi cụ thể được xác nhận trong dữ liệu được cung cấp, vì vậy không nên coi một phiên bản khác là đã an toàn nếu chưa có xác nhận từ nhà cung cấp.
  2. Tạm thời vô hiệu hóa hoặc gỡ tính năng Browse and upload images, hoặc gỡ plugin nếu việc này phù hợp với hoạt động của hệ thống, cho đến khi có hướng dẫn sửa lỗi đáng tin cậy.
  3. Đánh giá biện pháp bù trừ để thư mục lưu trữ tệp tải lên không được xử lý như nội dung thực thi và để tệp tải lên không thể được truy cập trực tiếp ngoài nhu cầu nghiệp vụ. Đây là biện pháp phòng thủ, không phải bản vá đã được nhà cung cấp xác nhận.
  4. Nếu phát hiện tệp trái phép, đường dẫn tải lên bị lộ hoặc dấu hiệu thực thi mã, hãy bảo toàn bằng chứng, kiểm tra các thay đổi trên máy chủ và đánh giá khả năng lộ thông tin xác thực hoặc dữ liệu mà tài khoản dịch vụ có thể truy cập.

Cách phát hiện

  • Kiểm kê các hệ thống Redmine và xác định những hệ thống đang sử dụng redmine_CKEditor phiên bản 1.2.3.
  • Kiểm tra tính năng Browse and upload images có được bật hay không và rà soát quy tắc loại tệp được phép tải lên.
  • Kiểm tra thư mục lưu trữ tệp tải lên để tìm tệp nguy hiểm, tệp script phía máy chủ hoặc các tệp không phù hợp với mục đích lưu trữ hình ảnh.
  • Rà soát phản hồi của ứng dụng và log máy chủ để xác định việc lộ đường dẫn gốc của tệp tải lên, cũng như các request trực tiếp tới URL của tệp đã tải lên.
  • Việc giám sát request tới tính năng tải ảnh và các URL tệp tải lên là biện pháp phòng ngừa; không có log đáng ngờ không chứng minh hệ thống an toàn.
Nguồn (7)
Tìm hiểu thêm

Kiểm tra chuyên sâu cùng giải pháp quản lý rủi ro Web toàn diện

Giải pháp CyStack VulnScan liên tục phát hiện tài sản, xác minh lỗ hổng và giúp đội ngũ bảo mật ưu tiên khắc phục cho toàn bộ doanh nghiệp.