XSS lưu trữ trong bản xem trước WYSIWYG của Strapi có thể chiếm tài khoản đặc quyền

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-90561 là gì?

Lỗ hổng CVE-2026-90561 là lỗ hổng Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') ảnh hưởng tới strapi (phiên bản bị ảnh hưởng: 4.0.0 – ≤ 4.26.2 và 5.0.0 – < 5.48.1). Lỗ hổng này được xếp hạng ở mức Nghiêm trọng, với điểm CVSS 9.3. 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

Các phiên bản Strapi từ 4.x đến 4.26.2 và 5.x trước 5.48.1 chứa lỗ hổng cross-site scripting lưu trữ trong thành phần xem trước WYSIWYG của content manager, thành phần này không loại bỏ các thẻ script khỏi rich text. Người dùng có vai trò Author có thể lưu các thẻ script độc hại trong trường rich text; các thẻ này thực thi trong phiên của Editor hoặc Super Admin khi khung preview được mở rộng, cho phép chiếm quyền tài khoản.

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

  • Strapi 4.x: Các phiên bản từ 4.0.0 đến và gồm 4.26.2 bị ảnh hưởng.
  • Strapi 5.x: Các phiên bản từ 5.0.0 đến trước 5.48.1 bị ảnh hưởng. 5.48.1 là mốc sửa lỗi được hỗ trợ cho nhánh 5.x.
  • Bản ghi không cung cấp phiên bản sửa lỗi chính xác cho nhánh 4.x. Không được suy luận rằng bản sửa dành cho nhánh 5.x cũng giải quyết nhánh 4.x.

Chi tiết kỹ thuật

Lỗi nằm trong thành phần xem trước WYSIWYG của Content Manager. Nội dung rich text do người dùng kiểm soát được xử lý qua markdown-it với html: true, nên raw HTML được giữ lại, sau đó qua sanitize-html với allowedTags: false, cấu hình cho phép mọi HTML tag, gồm cả <script>. Kết quả được đưa vào DOM bằng dangerouslySetInnerHTML, trong khi nội dung rich text được lưu nguyên dạng và trả về khi truy xuất.

Luồng khai thác cần một người dùng có quyền Author hoặc quyền tương đương ghi vào trường rich text, cùng với một Editor hoặc Super Admin mở rộng khung preview của nội dung đó. Khi preview được mở trong trình duyệt của người dùng đặc quyền, script được lưu trữ có thể thực thi trong phiên quản trị của họ. Chi tiết triển khai được kiểm tra phản ánh thành phần WYSIWYG được nêu trong nguồn kỹ thuật; bản ghi không xác nhận rằng mọi biến thể triển khai của từng nhánh đều có mã hoàn toàn giống nhau.

Khả năng khai thác

Lỗi có thể bị khai thác qua mạng bởi người dùng đã xác thực có quyền thấp, cụ thể là quyền ghi vào trường rich text. Độ phức tạp được mô tả là thấp, nhưng cần tương tác thụ động của nạn nhân: Editor hoặc Super Admin phải mở rộng khung preview chứa nội dung độc hại.

Bản ghi chuẩn hóa đặt public_exploit là false và known_exploited là null. Dữ liệu trạng thái liên quan cũng ghi nhận exploitation là none. Các trạng thái này không chứng minh rằng chưa từng có hành vi lạm dụng không được công bố.

Tác động kỹ thuật

Đây là stored XSS chạy trong ngữ cảnh trình duyệt của người dùng đặc quyền, không phải chỉ là lỗi hiển thị ở phía người tạo nội dung. Kẻ tấn công bắt đầu với quyền thấp nhưng có thể tác động sang phiên của Editor hoặc Super Admin sau khi nạn nhân mở rộng preview.

Hậu quả có thể gồm truy cập dữ liệu trong phạm vi phiên bị xâm phạm, thực hiện thao tác quản trị hoặc thay đổi nội dung, và chiếm quyền tài khoản như bản ghi mô tả. Bằng chứng hiện có xác nhận thực thi script phía trình duyệt; không xác nhận thực thi mã phía máy chủ, truy cập hệ điều hành hoặc gây mất khả dụng dịch vụ.

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

  • Chiếm quyền tài khoản: Script chạy trong trình duyệt của Editor hoặc Super Admin có thể cho phép kẻ tấn công hành động với quyền của người dùng bị ảnh hưởng, theo mô tả của bản ghi.
  • Rò rỉ dữ liệu và thay đổi trái phép: Phiên quản trị bị xâm phạm có thể làm lộ dữ liệu mà người dùng đó truy cập được và cho phép sửa nội dung hoặc cấu hình trong phạm vi quyền của họ.
  • Mở rộng ảnh hưởng: Một Author có quyền ghi rich text có thể cài nội dung độc hại để tác động đến nhiều người dùng đặc quyền nếu họ cùng xem nội dung đó.
  • Bản ghi mô tả tác động đến tính bảo mật và toàn vẹn; không mô tả việc làm gián đoạn dịch vụ.

Cách khắc phục

  1. Đối với nhánh 5.x, nâng cấp lên chính xác phiên bản 5.48.1, là mốc sửa lỗi được bản ghi và advisory hỗ trợ. Không tự suy luận trạng thái của các nhánh song song hoặc các bản phát hành khác nếu chưa được xác nhận.
  2. Đối với nhánh 4.x, bản ghi xác nhận các phiên bản đến 4.26.2 bị ảnh hưởng nhưng không nêu phiên bản sửa lỗi cụ thể. Liên hệ hoặc theo dõi hướng dẫn phát hành của Strapi và CNA trước khi chọn bản nâng cấp cho nhánh này.
  3. Bản ghi không cung cấp workaround chính thức. Trong thời gian chờ nâng cấp, có thể tạm thời giảm rủi ro bằng cách hạn chế quyền ghi rich text của người dùng không đáng tin cậy và tránh mở rộng preview của nội dung chưa được kiểm tra. Đây là biện pháp ngăn chặn tạm thời, không thay thế bản sửa lỗi.
  4. Sau khi nâng cấp, rà soát các rich-text entry đã lưu vì nội dung độc hại có thể đã tồn tại từ trước khi sửa lỗi. Xử lý hoặc làm sạch nội dung theo quy trình kiểm duyệt của tổ chức.
  5. Nếu nội dung nghi ngờ đã được mở trong phiên Editor hoặc Super Admin, điều tra theo quy trình ứng phó sự cố và cân nhắc vô hiệu hóa hoặc thay mới các phiên, token và thông tin xác thực liên quan.

Cách phát hiện

  • Kiểm kê các triển khai Strapi và xác định nhánh phát hành đang chạy, sau đó đối chiếu với các ranh giới bị ảnh hưởng trong affected_summary.
  • Xác định các content type có trường rich text và danh sách tài khoản có quyền Author hoặc quyền ghi tương đương.
  • Rà soát dữ liệu rich text đã lưu để tìm các tag HTML thô bất thường, đặc biệt là <script>. Việc không tìm thấy tag này không chứng minh hệ thống an toàn vì nội dung có thể dùng biến thể HTML khác hoặc đã bị xóa.
  • Trong môi trường kiểm thử, xác minh rằng WYSIWYG preview loại bỏ script element trước khi đưa nội dung vào DOM.
  • Rà soát audit log và telemetry quản trị như một biện pháp phòng ngừa đối với chuỗi sự kiện người dùng cấp thấp sửa rich text, sau đó người dùng đặc quyền mở preview. Đây là dấu hiệu cần điều tra, không phải IOC đã được xác nhận.
Nguồn (14)
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