CVE-2026-47407 in PraisonAI
Tóm tắt
Bởi VulDB • 23/07/2026
Nền tảng PraisonAI là lớp nền tảng cho hệ thống nhóm đa tác nhân (multi-agent teams) của PraisonAI. Trước phiên bản 0.1.4, máy chủ Nền tảng công khai các tài nguyên dưới đường dẫn `/api/v1/workspaces/{workspace_id}/...` và bảo vệ chúng bằng một phụ thuộc FastAPI là `require_workspace_member(workspace_id)`. Phụ thuộc này chỉ kiểm tra xem người gọi có phải là thành viên của workspace_id trong tiền tố URL hay không. Sau đó, các trình xử lý tuyến đường (route handlers) tìm kiếm tài nguyên bên trong (`agent_id`, `issue_id`, `project_id`, `label_id`, `comment_id`, `dependency_id`) dựa duy nhất vào khóa chính (primary key). Trường `workspace_id` của tài khoản chưa bao giờ được so sánh với trường `workspace_id` trên URL. Do đó, người dùng có thể đặt workspace của riêng họ trong tiền tố URL và bất kỳ ID tài nguyên nào thuộc về một workspace khác trong đường dẫn. Kiểm tra xác thực sẽ vượt qua vì họ đúng là thành viên của workspace nằm ở tiền tố URL. Dịch vụ sau đó trả về tài nguyên liên quan đến tenant chéo (cross-tenant) để đọc, cập nhật hoặc xóa. Có một lỗi thứ hai trong các tuyến quản lý thành viên (`add_member`, `update_member_role`, `remove_member`, `update_workspace`, `delete_workspace`). Mỗi hàm đều kế thừa giá trị mặc định là `min_role="member"` từ `require_workspace_member`. Do đó, bất kỳ thành viên cơ bản nào cũng có thể tự nâng cấp lên vai trò quản trị viên (admin) hoặc chủ sở hữu (owner), hạ thấp hoặc xóa các thành viên khác và xóa workspace. Hệ thống phân cấp vai trò tồn tại trong lược đồ nhưng không được thực thi. Việc đăng ký mở ở `/api/v1/auth/register` mà không yêu cầu xác minh email. Địa chỉ bind mặc định của máy chủ là `0.0.0.0:8000` (`python -m praisonai_platform`). Chỉ cần một lệnh curl từ bất kỳ vị trí mạng nào chưa được xác thực cũng đủ để khởi tạo quyền truy cập vào hệ thống. PraisonAI Platform phiên bản 0.1.4 đã vá lỗi này.
If you want to get best quality of vulnerability data, you may have to visit VulDB.