Cross-site scripting dạng lưu trữ trong h5p-nodejs-library của Lumi Education UG

Lỗ hổng CVE-2025-7062 là gì?

Lỗ hổng CVE-2025-7062 là lỗ hổng thuộc các loại Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') và Improper Input Validation, ảnh hưởng tới h5p-nodejs-library (phiên bản bị ảnh hưởng: < 10.0.4). Lỗ hổng này được xếp hạng ở mức Trung bình, với điểm CVSS 5.2. Hiện chưa đủ dữ liệu để xác định lỗ hổng này đã bị khai thác hay chưa.

Xác minh để tiếp tục phân tích

Bước xác minh ngắn giúp bảo vệ nguồn lỗ hổng và hạn chế việc gọi AI tự động.

Giới thiệu chung

Dữ liệu gốc

Một lỗ hổng cross-site scripting (XSS) dạng lưu trữ đã được xác định trong module H5P h5p-nodejs-library của Lumi Education UG ở các phiên bản đến và bao gồm 10.0.4. Thư viện cho phép người dùng tải lên nội dung H5P có chứa JavaScript độc hại. Mã này sau đó được thực thi trong trình duyệt của những người dùng khác khi họ xem nội dung H5P bị ảnh hưởng.

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

h5p-nodejs-library của Lumi Education UG: mô tả trong bản ghi xác định các phiên bản đến và bao gồm 10.0.4 là bị ảnh hưởng. • Dữ liệu affected có cấu trúc trong bản ghi lại mã hóa phạm vi less than 10.0.4, do đó ranh giới chính xác của phiên bản 10.0.4 đang không nhất quán và cần được đối chiếu với thông tin triển khai hoặc thông báo của nhà cung cấp. • Ghi chú phát hành của nhà cung cấp cho biết 10.0.4 loại phần mở rộng SVG khỏi allowlist nội dung mặc định và bổ sung khả năng SVG sanitization, nhưng giải pháp được cung cấp cho CVE nêu rõ rằng bản phát hành này vẫn dựa vào phần mở rộng tên tệp và không ngăn chặn hoàn toàn việc tải lên, thực thi JavaScript. • Trạng thái của các nhánh hoặc bản phát hành khác không được bằng chứng hiện có xác nhận.

Chi tiết kỹ thuật

h5p-nodejs-library của Lumi Education UG cho phép tải lên nội dung H5P, trong đó người tải lên có thể chèn JavaScript độc hại. Thư viện lưu nội dung này và khi người dùng khác mở H5P bị ảnh hưởng, mã JavaScript sẽ được thực thi trong trình duyệt của họ. Điểm yếu thuộc nhóm không trung hòa đúng dữ liệu đầu vào khi tạo trang web, với việc kiểm tra đầu vào không đầy đủ là yếu tố góp phần. Theo thông tin giảm thiểu được cung cấp, việc chấp nhận tệp dựa vào phần mở rộng tên tệp thay vì nội dung thực tế, vì vậy một tệp có phần mở rộng được cho phép như XML vẫn có thể chứa JavaScript. Luồng render chính xác và thành phần phía máy chủ chịu trách nhiệm cho lần thực thi cuối cùng chưa được xác định trong bằng chứng hiện có. Đặc tính tấn công trong bản ghi cho thấy đường tấn công có thể đi qua mạng, cần quyền hạn thấp để tải nội dung và cần một người dùng khác chủ động xem nội dung đó.

Khả năng khai thác

Lỗ hổng có thể bị khai thác qua đường mạng trong các triển khai cho phép người dùng có quyền hạn thấp tải lên nội dung H5P. Kẻ tấn công cần đưa nội dung chứa JavaScript độc hại vào một tệp H5P được chấp nhận, sau đó cần người dùng khác mở hoặc xem nội dung đó để mã được thực thi. Độ phức tạp khai thác được đánh giá là thấp, nhưng có yêu cầu tương tác của người dùng ở phía nạn nhân. Bằng chứng được cung cấp không xác nhận việc khai thác đang diễn ra và cũng không xác nhận một public exploit cụ thể.

Tác động kỹ thuật

Tác động kỹ thuật trực tiếp là script được thực thi trong trình duyệt của mỗi người dùng mở nội dung H5P độc hại. Tùy theo session và quyền của nạn nhân, script có thể có khả năng đọc hoặc thay đổi dữ liệu mà người dùng đó được phép truy cập, hoặc thực hiện thao tác trong ngữ cảnh của ứng dụng; đây là hậu quả có thể xảy ra, không phải kết quả đã được bản ghi xác nhận. Việc payload được lưu trữ làm tăng khả năng nhiều người dùng bị ảnh hưởng khi cùng xem nội dung. Bằng chứng hiện có không xác nhận thực thi mã phía máy chủ, chiếm quyền cơ sở dữ liệu hoặc tác động trực tiếp đến tính sẵn sàng của máy chủ.

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

Các tổ chức sử dụng h5p-nodejs-library cho đào tạo trực tuyến hoặc chia sẻ nội dung nên kiểm tra những triển khai cho phép người dùng không hoàn toàn tin cậy tải lên H5P. Một mục H5P độc hại có thể tồn tại trong hệ thống và thực thi trong trình duyệt của người xem, tạo ra rủi ro đối với độ tin cậy của nội dung, hỗ trợ người dùng và công tác ứng phó sự cố. Tùy theo quyền của người xem, script phía trình duyệt có thể truy cập hoặc thay đổi thông tin mà người dùng đó được phép sử dụng trong ứng dụng, nhưng bằng chứng không xác nhận một vụ xâm phạm hay nạn nhân cụ thể. Việc giảm thiểu có thể yêu cầu rà soát nội dung hiện có và thay đổi cách xác thực, làm sạch tệp tải lên.

Cách khắc phục

  1. Không dựa chỉ vào lọc theo phần mở rộng tên tệp. Xác thực và sanitize tệp dựa trên nội dung thực tế trước khi cho phép lưu trữ hoặc render.
  2. Đối với tệp SVG, bật cơ chế SVG file sanitization của thư viện để loại bỏ script độc hại bằng DOMPurify.
  3. Nếu đang sử dụng 10.0.4, hãy coi đây là biện pháp giảm thiểu một phần chứ không phải bản sửa hoàn chỉnh. Bản phát hành này loại SVG khỏi allowlist mặc định nhưng việc nhận diện tệp theo phần mở rộng vẫn có thể bị vượt qua bằng nội dung JavaScript đặt trong một phần mở rộng được cho phép, chẳng hạn XML.
  4. Kiểm tra mọi contentWhitelist tùy chỉnh vì cấu hình riêng có thể cho phép lại SVG hoặc các loại tệp cần được sanitization.
  5. Theo dõi thông báo của nhà cung cấp để xác định bản phát hành khắc phục hoàn toàn. Bằng chứng hiện có chưa xác định một bản phát hành hoàn chỉnh như vậy.

Cách phát hiện

  1. Kiểm kê các triển khai sử dụng h5p-nodejs-library và xác định phiên bản, cấu hình upload cũng như các contentWhitelist tùy chỉnh.
  2. Kiểm tra xem cơ chế lọc tệp có chỉ dựa vào phần mở rộng tên tệp hay có xác thực nội dung thực tế và sanitization hay không.
  3. Kiểm tra cấu hình xử lý SVG và xác nhận liệu SVG file sanitization dựa trên DOMPurify đã được bật hay chưa.
  4. Rà soát các bản ghi ứng dụng về hoạt động tải lên H5P và các lượt xem nội dung ngay sau đó, nếu hệ thống có ghi nhận. Đây là biện pháp rà soát thận trọng, không phải IOC đã được xác nhận.
  5. Dùng quy trình kiểm thử bảo mật được phê duyệt để xác nhận rằng tệp có nội dung script không thể được lưu trữ và render như nội dung H5P hợp lệ.
Nguồn (6)
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á CyStack VulnScan