Lỗi path traversal khi tải gói SCORM trong Frappe Learning Management System (LMS)

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

Lỗ hổng CVE-2026-39405 là gì?

Lỗ hổng CVE-2026-39405 là lỗ hổng Improper Limitation of a Pathname to a Restricted Directory ảnh hưởng tới lms (phiên bản bị ảnh hưởng: < 2.50.1). Lỗ hổng này được xếp hạng ở mức Nghiêm trọng, với điểm CVSS 9.4. Các nguồn hiện có chưa ghi nhận lỗ hổng này bị khai thác.

Giới thiệu chung

Dữ liệu gốc

Frappe Learning Management System (LMS) là một hệ thống học tập giúp người dùng tổ chức nội dung. Trong các phiên bản 2.50.0 trở xuống, người dùng có vai trò chỉnh sửa khóa học có thể tải lên một gói ZIP SCORM để ghi tệp ra ngoài thư mục dự kiến. Vấn đề này đã được khắc phục trong phiên bản 2.50.1.

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

  • Bản ghi chuẩn hóa mô tả Frappe LMS bị ảnh hưởng ở < 2.50.1, và phần mô tả nguồn nêu 2.50.0 and below.
  • Advisory của nhà cung cấp trên GitHub lại liệt kê phạm vi ảnh hưởng là <= 2.49.0 và bản đã vá là 2.50.1.
  • Hai nguồn không nhất quán về trạng thái của 2.50.0. Không nên mặc định bản này an toàn hoặc bị ảnh hưởng chỉ dựa trên một trong hai ranh giới; cần xác minh trực tiếp bản triển khai.
  • 2.50.1 là bản vá được cả bản ghi và advisory xác nhận. Advisory cũng hướng dẫn cập nhật lên v.2.50.1 or higher. Trạng thái của các nhánh song song chưa được reconciled riêng trong bằng chứng hiện có.

Chi tiết kỹ thuật

Frappe Learning Management System (LMS) xử lý gói ZIP SCORM do người dùng có vai trò chỉnh sửa khóa học cung cấp. Lỗi thuộc CWE-22: đường dẫn trong quá trình giải nén không bị giới hạn đầy đủ trong thư mục SCORM dự kiến, nên một archive được tạo đặc biệt có thể khiến hệ thống ghi tệp ra bên ngoài phạm vi đó. Bản vá được mô tả là xác thực các đường dẫn giải nén để bảo đảm chúng vẫn nằm trong thư mục SCORM, cho thấy điểm lỗi nằm ở logic giải nén và kiểm tra đường dẫn. Điều kiện khai thác được ghi nhận là phải có quyền chỉnh sửa khóa học và truy cập được chức năng tải gói SCORM; đánh giá đi kèm cho biết vector là qua mạng, độ phức tạp thấp và không cần tương tác bổ sung của người dùng. Bằng chứng hiện có không xác định endpoint cụ thể, cú pháp đường dẫn trong archive, các đường dẫn đích có thể ghi, quyền của tiến trình LMS trên hệ thống tệp, hoặc một chuỗi thực thi mã cụ thể.

Khả năng khai thác

  • Khả năng tiếp cận: Lỗi nằm trong chức năng tải gói SCORM qua mạng.
  • Xác thực và quyền: Người khai thác cần một tài khoản có vai trò chỉnh sửa khóa học; không phải lỗi được mô tả là unauthenticated.
  • Tương tác và độ phức tạp: Đánh giá được cung cấp cho biết không cần tương tác người dùng bổ sung và độ phức tạp thấp.
  • Tình trạng khai thác: Bản ghi chuẩn hóa không đánh dấu khai thác đã biết và đặt public_exploit là false. Tuy nhiên, một kho lưu trữ GitHub công khai có liệt kê mục PoC mô tả vấn đề này là dẫn đến remote code execution. Trang đã truy xuất không cung cấp nội dung kỹ thuật của PoC, vì vậy chưa thể xác nhận khả năng weaponize hoặc remote code execution trong các hệ thống triển khai thực tế.

Tác động kỹ thuật

Lỗi cho phép một người dùng đã được xác thực ghi tệp ngoài thư mục SCORM dự kiến thông qua quá trình giải nén gói ZIP. Hậu quả kỹ thuật trực tiếp là arbitrary file write, có thể ảnh hưởng đến tính toàn vẹn của tệp ứng dụng hoặc dữ liệu và có thể gây gián đoạn dịch vụ nếu ghi đè vị trí quan trọng. Mức quyền cuối cùng mà kẻ tấn công đạt được không được xác nhận, vì hồ sơ không nêu quyền của tiến trình LMS hoặc tệp đích. Khả năng remote code execution được một kho lưu trữ PoC công khai nêu trong tiêu đề mô tả, nhưng nội dung kỹ thuật và khả năng tái hiện chưa được xác nhận từ bằng chứng đã truy xuất. Phạm vi khai thác bị giới hạn bởi yêu cầu có vai trò chỉnh sửa khóa học.

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

Việc ghi tệp ra ngoài vùng lưu trữ SCORM có thể làm thay đổi tệp ứng dụng hoặc dữ liệu dịch vụ tại các vị trí mà tiến trình LMS có quyền ghi. Điều này tạo rủi ro trực tiếp cho tính toàn vẹn và tính sẵn sàng; mức độ ảnh hưởng thực tế phụ thuộc vào đường dẫn bị tác động và quyền của tiến trình. Bằng chứng được cung cấp không xác nhận khả năng đọc tệp hoặc một kịch bản chiếm quyền cụ thể. Một kho lưu trữ GitHub công khai mô tả PoC của vấn đề là dẫn đến remote code execution, nhưng nội dung PoC chưa được truy xuất nên hậu quả đó cần được xem là chưa được xác nhận.

Cách khắc phục

  1. Nâng cấp lên 2.50.1, là bản vá được xác nhận cho lỗi này.
  2. Do các nguồn có ranh giới ảnh hưởng khác nhau đối với 2.50.0, xác minh chính xác bản phát hành đang chạy trên từng site thay vì suy luận từ nhánh hoặc tag gần nhất.
  3. Trong thời gian chưa thể vá, giảm số lượng tài khoản có vai trò chỉnh sửa khóa học và cân nhắc tạm ngừng tải gói SCORM nếu quy trình vận hành cho phép. Đây là biện pháp giảm rủi ro tạm thời, không phải workaround được nhà cung cấp xác nhận.
  4. Sau khi nâng cấp, rà soát các tệp đã được tạo hoặc sửa ngoài thư mục SCORM dự kiến và điều tra mọi thay đổi không được giải thích trước đó.

Cách phát hiện

  1. Kiểm kê các máy chủ đang chạy Frappe Learning Management System (LMS) và xác minh bản phát hành đang dùng; đối chiếu với bản đã được vá thay vì chỉ dựa vào tên sản phẩm.
  2. Xác định các triển khai có bật hoặc sử dụng tải gói SCORM, cùng danh sách tài khoản được cấp vai trò chỉnh sửa khóa học.
  3. Rà soát log ứng dụng, log máy chủ và audit log hệ thống tệp, nếu có, quanh các lần tải hoặc giải nén gói SCORM; tìm các thay đổi nằm ngoài thư mục SCORM dự kiến.
  4. Kiểm tra các tệp mới hoặc bị sửa bởi tài khoản tiến trình LMS ở những vị trí không thuộc vùng lưu trữ SCORM. Đây là kiểm tra điều tra dựa trên cơ chế lỗi, không phải IOC được nhà cung cấp xác nhận.
  5. Bằng chứng hiện có không nêu tên sự kiện log hoặc IOC cụ thể. Không thấy log bất thường không chứng minh rằng hệ thống không bị ảnh hưởng.
Nguồn (21)
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.

Khám phá các giải pháp khác liên quan