Metabase thiếu phân quyền trên glossary API, cho phép thay đổi dữ liệu trái phép

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

Lỗ hổng CVE-2026-86116 là lỗ hổng Missing Authorization ảnh hưởng tới metabase (phiên bản bị ảnh hưởng: 0.57.0 – < 0.63.1). Lỗ hổng này được xếp hạng ở mức Cao, với điểm CVSS 7.1. Lỗ hổng này đã có mã hoặc bằng chứng khai thác công khai, nhưng điều đó chưa xác nhận việc khai thác trong thực tế.

Giới thiệu chung

Dữ liệu gốc

Các phiên bản Metabase trước 0.63.1 không thực thi kiểm tra quyền data analyst trên các endpoint glossary API, cho phép mọi người dùng đã xác thực tạo, sửa đổi và xóa các mục glossary. Kẻ tấn công có thể gửi các yêu cầu tới các endpoint glossary POST, PUT và DELETE để giả mạo dữ liệu business glossary ở phạm vi toàn instance mà không có quyền phù hợp.

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

  • Metabase của vendor metabase: bị ảnh hưởng từ 0.57.0 đến trước 0.63.1, theo semver.
  • Bản ghi đặt trạng thái mặc định là unaffected và chỉ xác định phạm vi 0.57.0 đến trước 0.63.1 là affected.
  • 0.63.1 là bản phát hành gắn với bản sửa kiểm tra quyền. Trạng thái của các nhánh phát hành song song hoặc các nhánh khác không nên được suy luận nếu chưa được xác minh riêng.

Chi tiết kỹ thuật

Metabase thiếu bước kiểm tra quyền ở các handler mutation của src/metabase/glossary/api.clj. Các endpoint POST /api/glossary, PUT /api/glossary/:id và DELETE /api/glossary/:id yêu cầu phiên đăng nhập nhưng không kiểm tra người dùng có quyền data analyst hoặc administrator trước khi thực hiện thao tác cơ sở dữ liệu.

Cụ thể, handler tạo mục nhận term và definition, handler cập nhật nhận id, term và definition, còn handler xóa nhận id. Trước bản sửa, các handler này chỉ thực hiện các kiểm tra tồn tại cần thiết rồi tạo, cập nhật hoặc xóa bản ghi, trong khi không gọi api/check-data-analyst. Vì vậy, một tài khoản đã xác thực nhưng không phải data analyst hoặc administrator có thể gửi yêu cầu mạng trực tiếp đến các endpoint mutation để thay đổi glossary dùng chung của instance.

Bản sửa bổ sung api/check-data-analyst vào cả ba handler mutation và thêm kiểm thử để bảo đảm người dùng thông thường nhận phản hồi bị từ chối. Bằng chứng hiện có xác nhận lỗi nằm ở việc thiếu function-level authorization; không có bằng chứng cho thấy endpoint đọc glossary hoặc các quyền quản trị khác cũng bị vượt qua bởi lỗi này.

Khả năng khai thác

Lỗi có thể bị khai thác qua mạng bằng một phiên Metabase đã đăng nhập. Kẻ tấn công cần quyền thấp ở mức tài khoản đã xác thực, không cần tương tác của người dùng khác, và có thể gửi yêu cầu trực tiếp đến các endpoint glossary mutation.

Một public proof of concept đã được công bố và nhà nghiên cứu báo cáo đã xác thực việc tạo, sửa và xóa glossary bằng tài khoản không có quyền superuser hoặc data analyst trên một bản dựng bị ảnh hưởng. Bản ghi không xác nhận một chiến dịch, nạn nhân cụ thể hoặc việc khai thác ngoài thực tế; bằng chứng hiện có tập trung vào PoC có thể tái hiện.

Tác động kỹ thuật

Lỗi cho phép một tài khoản có quyền đăng nhập thấp thực hiện các thao tác ghi và xóa trên business glossary mà không có vai trò được yêu cầu. Tác động trực tiếp là thay đổi dữ liệu và nội dung dùng chung trong cùng Metabase instance, không phải tự động nâng quyền lên administrator.

Tổ chức có thể phải xử lý các định nghĩa sai, mục từ bị xóa và quyết định phân tích dựa trên metadata không còn đáng tin cậy. Khả năng ảnh hưởng đến tính bí mật, thực thi mã hoặc tính sẵn sàng của dịch vụ không được bằng chứng hiện có xác lập. Phạm vi tác động cũng không cho thấy lỗi này tự động cho phép truy cập hoặc sửa các loại tài nguyên Metabase khác ngoài glossary mutation API.

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

  • Người dùng đã xác thực nhưng không có vai trò data analyst hoặc administrator có thể thay đổi nội dung glossary ở phạm vi toàn instance.
  • Các định nghĩa thuật ngữ dùng chung có thể bị chèn nội dung sai, sửa trái phép hoặc xóa, làm giảm độ tin cậy của tài liệu và ngữ cảnh nghiệp vụ được dùng trong tổ chức.
  • Những thay đổi này có thể gây nhầm lẫn cho người dùng dashboard, analyst và nhóm quản trị dữ liệu khi họ dựa vào glossary để diễn giải dữ liệu.
  • Bằng chứng hiện có mô tả tác động đến tính toàn vẹn của business glossary, không xác nhận quyền đọc dữ liệu phân tích, quyền quản trị hệ thống hoặc ảnh hưởng trực tiếp đến tính sẵn sàng của dịch vụ.

Cách khắc phục

  1. Nâng cấp Metabase lên 0.63.1, là bản phát hành gắn với bản sửa phân quyền glossary. Không chuyển kết luận này thành một phạm vi mở cho các nhánh khác nếu chưa xác minh trạng thái của từng nhánh.
  2. Nếu chưa thể nâng cấp ngay, giảm khả năng tiếp cận Metabase API và các chức năng glossary của những tài khoản không cần quyền này theo các biện pháp kiểm soát truy cập hiện có. Đây là biện pháp containment mang tính phòng ngừa, không phải workaround được vendor xác nhận.
  3. Rà soát các thay đổi glossary do tài khoản không phải data analyst hoặc administrator thực hiện trước thời điểm vá, vì bản vá không tự khôi phục những mục từ đã bị tạo, sửa hoặc xóa.
  4. Sau khi nâng cấp, dùng tài khoản kiểm thử không có quyền data analyst hoặc administrator để xác minh rằng các thao tác tạo, cập nhật và xóa glossary đều bị từ chối. Bản sửa upstream bổ sung kiểm thử cho hành vi này.

Cách phát hiện

  1. Kiểm kê mọi Metabase instance và đối chiếu phiên bản triển khai với phạm vi bị ảnh hưởng và ranh giới bản sửa được nêu trong trường affected_summary.
  2. Rà soát audit log hoặc reverse proxy log cho các yêu cầu POST tới /api/glossary, cùng các yêu cầu PUT hoặc DELETE tới /api/glossary/:id, đặc biệt khi tài khoản gửi yêu cầu không phải data analyst hoặc administrator. Đây là biện pháp giám sát phòng ngừa, không phải indicator được vendor xác nhận.
  3. So sánh lịch sử glossary để tìm mục từ được tạo, thay đổi hoặc xóa bất thường, đồng thời kiểm tra trường creator nếu triển khai lưu thông tin này.
  4. Trong môi trường kiểm thử, xác minh rằng tài khoản đã xác thực nhưng không có quyền data analyst hoặc administrator bị từ chối khi thực hiện cả ba loại thao tác mutation.
  5. Không coi việc không tìm thấy log hoặc thay đổi bất thường là bằng chứng rằng instance an toàn; cần hoàn tất kiểm kê phiên bản và kiểm tra quyề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.