Kiểm soát truy cập không đúng trong OpenBMB Internet of Agents Message Handler cho phép đọc bản ghi trò chuyện 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-123881 là gì?

Lỗ hổng CVE-2026-123881 là lỗ hổng thuộc các loại Improper Access Control và Incorrect Privilege Assignment, ảnh hưởng tới Internet of Agents (phiên bản bị ảnh hưởng: 9d78e88e47160eb42ee1ee8538c05e1c2c47877a). Lỗ hổng này được xếp hạng ở mức Trung bình, với điểm CVSS 6.9. 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

Một lỗ hổng đã được phát hiện trong OpenBMB Internet of Agents đến phiên bản 9d78e88e47160eb42ee1ee8538c05e1c2c47877a. Vấn đề này ảnh hưởng đến hàm fetch_chat_record của tệp im_server/app.py thuộc thành phần Message Handler. Việc thao túng tham số comm_id dẫn đến kiểm soát truy cập không đúng. Cuộc tấn công có thể được thực hiện từ xa. Exploit đã được công khai và có thể được sử dụng. Dự án đã được thông báo sớm về vấn đề thông qua một issue report nhưng chưa phản hồi.

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

  • CNA xác định OpenBMB Internet of Agents, thành phần Message Handler, bị ảnh hưởng tại revision cụ thể được nêu trong record; mô tả của issue công khai xác định cùng revision trên nhánh main là vulnerable.
  • Không có fixed release, fixed commit hoặc nhánh song song được xác nhận trong record hay các nguồn đã xem xét.
  • Không nên coi các revision mới hơn là an toàn nếu chưa kiểm tra riêng, vì evidence hiện có không thiết lập ranh giới unaffected cho các revision đó.

Chi tiết kỹ thuật

Lỗi nằm trong thành phần Message Handler, tại hàm fetch_chat_record của tệp im_server/app.py, và thuộc các nhóm CWE-284 và CWE-266. Tham số do người dùng kiểm soát comm_id được sử dụng để chọn bản ghi trò chuyện nhưng không được ràng buộc đầy đủ với quyền truy cập của người yêu cầu. Issue công khai của dự án mô tả rằng endpoint POST /fetch_chat_record chấp nhận comm_id=None và có thể trả về toàn bộ cơ sở dữ liệu trò chuyện mà không yêu cầu xác thực hoặc phân trang; một mã phiên cụ thể cũng có thể được truy vấn mà không cần thông tin xác thực. Vì vậy, một máy khách từ xa không được xác thực có thể đọc dữ liệu ngoài phạm vi được phép nếu dịch vụ có thể truy cập từ mạng và không có lớp kiểm soát bên ngoài bổ sung. Cơ chế xác thực triển khai trong từng môi trường, backend lưu trữ và khả năng mọi deployment đều phơi lộ route này chưa được xác nhận.

Khả năng khai thác

  • Lỗi có thể bị khai thác từ xa qua mạng.
  • Thông tin trong record và issue công khai cho thấy không cần xác thực hoặc đặc quyền, không cần tương tác của người dùng, và đường khai thác được mô tả là có độ phức tạp thấp.
  • Exploit đã được công khai; VulDB mô tả exploit này ở trạng thái proof-of-concept và cho phép tải xuống.
  • Bằng chứng được xem xét không nêu tên chiến dịch, nạn nhân hoặc hoạt động khai thác thực tế cụ thể.

Tác động kỹ thuật

Kết quả kỹ thuật trực tiếp là một client từ xa không được xác thực có thể đọc chat record ngoài phạm vi quyền được cấp, có khả năng gồm cả dữ liệu của session khác hoặc toàn bộ chat database. Điều này tạo ra tác động đến confidentiality và có thể ảnh hưởng đến ranh giới dữ liệu giữa các nhóm hoặc tenant. Record cũng mô tả tác động ở mức thấp đến integrity và availability, nhưng evidence chi tiết nhất cho CVE này tập trung vào việc đọc dữ liệu trái phép. Không có cơ sở để kết luận rằng mọi deployment đều bị lộ như nhau, vì lớp xác thực bên ngoài và cấu hình exposure của từng môi trường chưa được xác nhận.

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

Lỗi có thể làm lộ trái phép bản ghi trò chuyện giữa các phiên, bao gồm nội dung trao đổi, mục tiêu nhóm, kế hoạch, kết luận tác vụ và output của công cụ khi các dữ liệu này tồn tại trong chat record. Việc đọc toàn bộ chat database có thể mở rộng phạm vi rò rỉ vượt quá một phiên riêng lẻ và ảnh hưởng đến nhiều nhóm hoặc tenant dùng chung dịch vụ. Tác động trực tiếp được xác nhận là truy cập dữ liệu không đúng quyền; phạm vi dữ liệu thực tế phụ thuộc vào nội dung được lưu và cách deployment công khai endpoint. Issue công khai cũng mô tả hành vi chèn message và broadcast amplification trong websocket handler, nhưng record này xác định fetch_chat_record là chức năng bị ảnh hưởng nên các hành vi liên quan đó không nên tự động được quy cho cùng một phạm vi CVE.

Cách khắc phục

  1. Áp dụng bản sửa hoặc revision khắc phục do OpenBMB hoặc CNA công bố khi có thông tin xác nhận. Hiện chưa có fixed release hoặc bản vá được xác nhận.
  2. Trong thời gian chờ bản sửa, thêm kiểm tra authentication và authorization trước khi đọc chat record, đồng thời ràng buộc người gọi với session member tương ứng.
  3. Từ chối yêu cầu thiếu comm_id, không cho phép giá trị null dùng để trả về toàn bộ dữ liệu, và áp dụng pagination cho việc đọc bản ghi. Đây là các biện pháp được nêu trong issue công khai, không phải fixed release đã được vendor xác nhận.
  4. Nếu chưa thể sửa code, hạn chế truy cập mạng đến endpoint đối với các client và mạng tin cậy như một biện pháp phòng ngừa tạm thời. Không xem biện pháp này là thay thế cho authorization trong ứng dụng.
  5. Kiểm tra lại toàn bộ branch hoặc deployment song song trước khi tuyên bố đã khắc phục, vì trạng thái của các revision không được nguồn xác nhận vẫn chưa rõ.

Cách phát hiện

  1. Lập inventory các deployment của OpenBMB Internet of Agents và xác định thành phần Message Handler cùng revision đang chạy. Đối chiếu revision với revision bị ảnh hưởng do CNA nêu trong record.
  2. Kiểm tra access log, reverse proxy log và telemetry của POST /fetch_chat_record cho các yêu cầu không có comm_id, có giá trị null, hoặc truy vấn mã phiên không thuộc người gọi.
  3. Kiểm tra response hoặc audit trail để tìm dấu hiệu một yêu cầu trả về toàn bộ chat database hoặc bản ghi của phiên khác.
  4. Rà soát cấu hình mạng để xác định endpoint có thể được truy cập từ Internet hoặc từ các mạng không tin cậy.
  5. Việc không thấy log phù hợp không chứng minh hệ thống an toàn, đặc biệt nếu endpoint không ghi nhận đầy đủ các yêu cầu bị từ chối hoặc yêu cầu không xác thực.
Nguồn (21)
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.