Stored cross-site scripting trong portal của WSO2 API Control Plane và WSO2 API Manager

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

Lỗ hổng CVE-2026-4103 là lỗ hổng Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') ảnh hưởng tới WSO2 API Control Plane (phiên bản bị ảnh hưởng: 4.5.0 – < 4.5.0.55 và 4.6.0 – < 4.6.0.19) và WSO2 API Manager (phiên bản bị ảnh hưởng: 3.2.0 – < 3.2.0.470, 3.2.1 – < 3.2.1.89 và các phiên bản bị ảnh hưởng khác). Lỗ hổng này được xếp hạng ở mức Trung bình, với điểm CVSS 6.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

Việc làm sạch HTML không đầy đủ trong Publisher Portal và Developer Portal cho phép dữ liệu đầu vào không đáng tin cậy được hiển thị mà không được mã hóa hoặc trung hòa đúng cách. Điều này cho phép chèn và thực thi JavaScript độc hại khi các tài liệu API bị ảnh hưởng được xem. Việc khai thác thành công có thể dẫn đến việc các script độc hại được thực thi trong ngữ cảnh trình duyệt của người dùng khi xem tài liệu API. Người dùng có quyền truy cập tài liệu API thông qua các portal này có thể bị ảnh hưởng, qua đó kẻ tấn công có thể thực hiện hành động thay mặt người dùng, tùy thuộc vào các quyền trong phiên của họ.

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

Các phạm vi bị ảnh hưởng được xác nhận gồm:

  • WSO2 API Control Plane: 4.5.0, <4.5.0.55; và 4.6.0, <4.6.0.19.
  • WSO2 API Manager: 3.2.0, <3.2.0.470; 3.2.1, <3.2.1.89; 4.1.0, <4.1.0.254; 4.2.0, <4.2.0.194; 4.3.0, <4.3.0.105; 4.4.0, <4.4.0.69; 4.5.0, <4.5.0.54; và 4.6.0, <4.6.0.18.

Chỉ các branch nêu trên được xác nhận rõ ràng là bị ảnh hưởng. Bản ghi không thiết lập trạng thái của các branch khác ngoài những phạm vi này.

Chi tiết kỹ thuật

WSO2 API Control Plane và WSO2 API Manager không làm sạch HTML đầy đủ trong Publisher Portal và Developer Portal. Dữ liệu đầu vào không đáng tin cậy trong tài liệu API có thể được đưa vào phần tài liệu hiển thị mà không được encoding hoặc neutralization đúng cách, dẫn đến thực thi JavaScript trong trình duyệt của người xem.

Chuỗi khai thác ở mức khái quát là:

  1. Dữ liệu không đáng tin cậy được đưa vào hoặc lưu trong tài liệu API.
  2. Publisher Portal hoặc Developer Portal hiển thị dữ liệu đó mà không áp dụng biện pháp làm sạch HTML đầy đủ.
  3. Khi tài liệu bị ảnh hưởng được xem, script độc hại có thể chạy trong browser context của người dùng.

Bản ghi cho biết lỗ hổng có thể bị tiếp cận qua mạng, yêu cầu quyền hạn thấp và có độ phức tạp thấp. Người dùng cần có quyền truy cập tài liệu API để trở thành browser context bị ảnh hưởng, nhưng chi tiết về trường đầu vào cụ thể và đường đi chính xác trong mã xử lý sanitization không được cung cấp.

Khả năng khai thác

Lỗ hổng có thể được khai thác từ xa qua mạng với quyền hạn thấp và độ phức tạp thấp theo bản ghi. Bản ghi đánh dấu rằng không cần user interaction ở cấp độ khai thác, trong khi mã độc thực thi khi tài liệu API bị ảnh hưởng được xem trong portal.

Trường public_exploit trong bản ghi có giá trị false, vì vậy không có public exploit được xác nhận trong dữ liệu cung cấp. Trạng thái known_exploited không được thiết lập; điều này không chứng minh rằng việc khai thác không thể xảy ra hoặc chưa từng xảy ra.

Tác động kỹ thuật

Kết quả kỹ thuật là JavaScript độc hại có thể được thực thi trong browser context của người dùng đang xem tài liệu API bị ảnh hưởng. Script có thể hoạt động trong phạm vi session privileges của người dùng đó và có khả năng thực hiện hành động thay mặt người dùng, tùy thuộc các quyền được cấp.

Tác động này ảnh hưởng đến phía trình duyệt của người dùng truy cập documentation và có scope phụ thuộc vào phiên bị tác động. Bản ghi không thiết lập khả năng server-side code execution, không xác nhận arbitrary account takeover và không nêu tác động đến tính sẵn sàng của dịch vụ. Tác động thực tế đối với dữ liệu và thao tác quản trị phụ thuộc vào quyền của người dùng đang xem tài liệu.

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

• JavaScript độc hại có thể chạy trong browser context của người dùng khi họ xem tài liệu API bị ảnh hưởng. • Tùy thuộc vào session privileges, kẻ tấn công có thể thực hiện một số hành động thay mặt người dùng trong phạm vi quyền mà phiên đó có. • Người dùng được phép truy cập API documentation qua Publisher Portal hoặc Developer Portal là nhóm cần được ưu tiên kiểm tra. • Bản ghi không cung cấp bằng chứng về việc dữ liệu đã bị truy cập, tài khoản đã bị chiếm đoạt hoặc tổ chức đã bị breach; tác động thực tế phụ thuộc vào quyền của các phiên bị ảnh hưởng.

Cách khắc phục

  1. Áp dụng update level tương ứng cho từng branch bị ảnh hưởng:
  • WSO2 API Control Plane 4.6.0: update level 19.
  • WSO2 API Control Plane 4.5.0: update level 55.
  • WSO2 API Manager 4.6.0: update level 18.
  • WSO2 API Manager 4.5.0: update level 54.
  • WSO2 API Manager 4.4.0: update level 69.
  • WSO2 API Manager 4.3.0: update level 105.
  • WSO2 API Manager 4.2.0: update level 194.
  • WSO2 API Manager 4.1.0: update level 254.
  • WSO2 API Manager 3.2.1: update level 89.
  • WSO2 API Manager 3.2.0: update level 470.
  1. Nếu sử dụng bản community hoặc không thể áp dụng update level, áp dụng public fix của WSO2, được xác định là PR #1287, hoặc chuyển sang một phiên bản không bị ảnh hưởng sau khi xác nhận branch tương ứng.

  2. Sau khi áp dụng update hoặc public fix, bật cấu hình sanitizeHtmlDocs với enabled: true cho cả Publisher Portal và Developer Portal. Với WSO2 API Manager 4.2.0, 4.3.0, 4.4.0, 4.5.0 và 4.6.0, kiểm tra các tệp settings.json trong các thư mục publisher/site/public/conf và devportal/site/public/theme dưới <APIM_HOME>/repository/deployment/server/webapps.

  3. Với WSO2 API Manager 3.2.0, 3.2.1 và 4.1.0, cập nhật các tệp settings.js trong các thư mục publisher/site/public/conf và devportal/site/public/theme dưới <APIM_HOME>/repository/deployment/server/jaggeryapps. Sau khi thay đổi, xác nhận cả hai portal đều nạp cấu hình sanitization.

Cách phát hiện

  1. Kiểm kê mọi triển khai WSO2 API Control Plane và WSO2 API Manager, sau đó đối chiếu product branch và update level với các phạm vi bị ảnh hưởng.
  2. Xác định Publisher Portal và Developer Portal đang được triển khai cùng phiên bản nào, đặc biệt trên các nhánh được liệt kê trong bản ghi.
  3. Sau khi cập nhật, kiểm tra cấu hình sanitizeHtmlDocs trong các tệp settings.json hoặc settings.js tương ứng và xác nhận enabled được đặt thành true.
  4. Rà soát các tài liệu API được tạo hoặc chỉnh sửa bởi người dùng có quyền đưa nội dung không đáng tin cậy vào portal, ưu tiên tài liệu đã được xem trong thời gian phiên bản bị ảnh hưởng còn hoạt động.
  5. Kiểm tra việc hiển thị tài liệu trong cả Publisher Portal và Developer Portal bằng quy trình kiểm thử an toàn trên môi trường không sản xuất. Không có IOC hoặc log event cụ thể nào được bản ghi xác nhận; việc giám sát truy cập portal chỉ nên được xem là biện pháp phòng ngừa.
Nguồn (11)
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.