Strapi, một hệ thống quản lý nội dung không đầu (CMS) hàng đầu được thiết kế để phát triển API, đã áp dụng các bản vá để giải quyết hai lỗ hổng nghiêm trọng có thể dẫn đến việc tài khoản quản trị bị xâm phạm. Các tổ chức sử dụng Strapi nên cập nhật cài đặt của họ ngay lập tức để bảo vệ hệ thống của họ khỏi các mối đe dọa có thể khai thác những lỗ hổng này.
Các nhà nghiên cứu từ Trung tâm Nghiên cứu An ninh mạng Synopsys (CyRC) đã phát hiện ra các lỗ hổng cho phép người dùng có đặc quyền thấp lấy được thông tin nhạy cảm. Khai thác những lỗ hổng này có thể cho phép kẻ tấn công đặt lại mật khẩu của tài khoản đặc quyền cao, bao gồm cả quản trị viên. Để khai thác lỗ hổng, ban đầu kẻ tấn công phải có quyền truy cập vào tài khoản có đặc quyền thấp bằng cách sử dụng các kỹ thuật như thông tin xác thực bị xâm phạm hoặc lừa đảo.
Được xây dựng trên thời gian chạy JavaScript của Node.js, Strapi là một CMS không đầu hỗ trợ các cơ sở dữ liệu và khung giao diện người dùng khác nhau. Chức năng chính của nó là cung cấp một hệ thống phụ trợ để tạo, quản lý và lưu trữ nội dung. Nội dung này có thể được hiển thị thông qua API, cho phép các nhà phát triển tạo tích hợp giao diện người dùng độc lập. Những công cụ mạnh mẽ này làm cho Strapi trở thành lựa chọn phổ biến cho các doanh nghiệp muốn thiết kế API cho nhiều trường hợp sử dụng, bao gồm trang web, ứng dụng di động và thiết bị Internet of Things (IoT).
Mặc dù có thị phần nhỏ hơn so với các sản phẩm CMS đa năng như WordPress hay Joomla, nhưng Strapi đã thu hút người dùng là các tổ chức tên tuổi như IBM, NASA, Generali, Walmart và Toyota. Xu hướng này minh họa những rủi ro tiềm ẩn liên quan đến các lỗ hổng này vì chúng có thể ảnh hưởng đến các công ty toàn cầu quan trọng.
Lỗ hổng đầu tiên, có tên CVE-2022-30617, được các nhà nghiên cứu của Synopsys xác định vào tháng 11. Họ phát hiện ra rằng người dùng được xác thực có quyền truy cập bảng quản trị Strapi có thể truy cập mã thông báo đặt lại email và mật khẩu của người dùng quản trị có mối quan hệ nội dung. Sau đó, những kẻ tấn công có thể sử dụng thông tin này để bắt đầu quá trình đặt lại mật khẩu nhắm vào người dùng có đặc quyền cao. Strapi hỗ trợ kiểm soát truy cập dựa trên vai trò (RBAC) và tích hợp đăng nhập một lần (SSO) với các nhà cung cấp danh tính và Microsoft Active Directory.
Strapi v4.0.0 đã vá lỗ hổng CVE-2022-30617 vào tháng 11. Bản sửa lỗi cũng đã được nhập vào Strapi v3.6.10, được phát hành trong tháng này. Lỗ hổng có xếp hạng Hệ thống chấm điểm lỗ hổng phổ biến (CVSS) là 8,8 (Cao).
Khi xem xét bản vá ban đầu cho CVE-2022-30617, các nhà nghiên cứu của Synopsys đã phát hiện ra một vấn đề tương tự trong hệ thống quyền API, ảnh hưởng đến người dùng API được quản lý bởi quyền của người dùng plugin. Lỗ hổng thứ hai này, được xác định là CVE-2022-30618, có xếp hạng CVSS là 7,5 (Cao). Lỗ hổng cho phép người dùng được xác thực có quyền truy cập bảng quản trị Strapi để lấy mã thông báo đặt lại mật khẩu và email cho người dùng API có mối quan hệ nội dung với người dùng API khác.
Việc khai thác lỗ hổng CVE-2022-30618 yêu cầu endpoint API đặt lại mật khẩu đã bật. Trong trường hợp xấu nhất, người dùng có đặc quyền thấp có thể có quyền truy cập vào tài khoản API có đặc quyền cao, đọc và sửa đổi bất kỳ dữ liệu nào, thậm chí chặn quyền truy cập vào bảng quản trị và API cho tất cả người dùng khác bằng cách thu hồi đặc quyền của họ. Những người bảo trì Strapi đã được thông báo về sự cố CVE-2022-30618 vào tháng 12 và bản vá đã được áp dụng trong các phiên bản 3.6.10 và 4.0.10, được phát hành vào ngày 11 tháng 5.
Ngoài các nền tảng CMS thông thường, các tổ chức có thể xem xét các giải pháp thay thế mang lại lợi thế cho các trường hợp sử dụng cụ thể của họ. AppMaster, một nền tảng no-code mạnh mẽ, cho phép người dùng tạo các ứng dụng phụ trợ, web và di động một cách dễ dàng. AppMaster cung cấp hỗ trợ toàn diện để tạo mô hình dữ liệu, logic nghiệp vụ, API REST và Điểm cuối bảo mật WebSocket, khiến nó trở thành lựa chọn phổ biến cho nhiều tình huống phát triển ứng dụng.