Lỗi chèn lệnh trong kiểm thử MCP stdio của Tencent WeKnora cho phép thực thi subprocess trên server

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

Lỗ hổng CVE-2026-22688 là lỗ hổng Improper Neutralization of Special Elements used in a Command ảnh hưởng tới WeKnora (phiên bản bị ảnh hưởng: < 0.2.5). Lỗ hổng này được xếp hạng ở mức Nghiêm trọng, với điểm CVSS 10. 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

WeKnora là một framework được hỗ trợ bởi LLM, được thiết kế cho việc hiểu sâu tài liệu và truy xuất ngữ nghĩa. Trước phiên bản 0.2.5, tồn tại một lỗ hổng chèn lệnh cho phép người dùng đã xác thực đưa stdio_config.command/args vào cấu hình stdio của MCP, khiến server thực thi các subprocess bằng những giá trị được chèn này. Vấn đề này đã được vá trong phiên bản 0.2.5.

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

  • Tencent WeKnora: các phiên bản < 0.2.5 được CNA xác định là affected.
  • Mô tả CNA và GitHub Advisory Database xác định 0.2.5 là phiên bản đã được vá.
  • Có một điểm không nhất quán trong metadata: trang advisory của repository hiện hiển thị Patched versions: None, trong khi mô tả CNA, GitHub Advisory Database và commit sửa lỗi đều chỉ ra bản vá liên quan đến 0.2.5. Trạng thái của các nhánh phát hành song song hoặc các phiên bản ngoài ranh giới này không được hồ sơ xác nhận độc lập.

Chi tiết kỹ thuật

Lỗ hổng nằm trong luồng kiểm thử MCP sử dụng transport stdio. Người dùng đã xác thực có thể đưa các giá trị stdio_config.command và stdio_config.args vào cấu hình MCP thông qua API tạo hoặc cập nhật MCP service. Trong mã bị ảnh hưởng, dữ liệu JSON được bind vào đối tượng MCPService, lưu trực tiếp mà không được kiểm tra đầy đủ, sau đó endpoint POST /api/v1/mcp-services/:id/test tải cấu hình và chuyển các giá trị này vào đường dẫn tạo MCP stdio client.

Khi client được kết nối, command và arguments được sử dụng để khởi chạy subprocess trên server. Advisory cũng ghi nhận chức năng này chỉ yêu cầu Bearer authentication và không có kiểm tra quyền administrator riêng, dù đây thực chất là khả năng thực thi tiến trình trên server. Commit sửa lỗi được tham chiếu bổ sung kiểm tra cấu hình stdio trong cả luồng tạo service và trước khi thực thi, nhưng chi tiết triển khai đầy đủ của cơ chế xác thực sau bản vá không được xác nhận trong hồ sơ này.

Khả năng khai thác

Lỗ hổng có thể bị tiếp cận qua mạng thông qua các API quản lý MCP service và yêu cầu attacker đã xác thực. Evidence cho thấy yêu cầu đặc quyền ở mức thấp, không cần tương tác của người dùng khác và điều kiện khai thác đơn giản. Một người dùng có quyền gọi các API liên quan có thể cung cấp command và arguments rồi kích hoạt luồng kiểm thử để server thực thi subprocess.

Hồ sơ đánh dấu public exploit là có tồn tại, và GitHub advisory chứa mô tả proof of concept cho việc kích hoạt thực thi bằng side effect. Evidence hiện có xác nhận một PoC công khai, nhưng không nêu tên chiến dịch, nạn nhân hoặc vụ xâm nhập cụ thể.

Tác động kỹ thuật

  • Kết quả kỹ thuật trực tiếp là server thực thi subprocess dựa trên command và arguments do người dùng đã xác thực cung cấp, thay vì chỉ kiểm thử một MCP service an toàn.
  • Tác động có thể bao gồm thực thi mã trên server, đọc dữ liệu mà tiến trình có quyền truy cập, sửa hoặc xóa dữ liệu, và làm gián đoạn WeKnora hoặc các dịch vụ phụ thuộc.
  • Quyền hiệu lực của attacker bị giới hạn bởi quyền của tài khoản WeKnora và quyền hệ điều hành của tiến trình, nhưng có thể tăng lên nếu backend có credential, mount hoặc kết nối mạng rộng.
  • Advisory nêu khả năng privilege escalation, lateral movement và ảnh hưởng xuyên tenant tùy môi trường. Những hậu quả này là khả năng phụ thuộc triển khai, không phải kết quả bắt buộc trong mọi hệ thống.

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

  • Một tài khoản WeKnora bị chiếm quyền hoặc bị lạm dụng có thể biến chức năng kiểm thử MCP thành khả năng thực thi lệnh trong backend runtime.
  • Subprocess bị kiểm soát có thể làm thay đổi file hoặc dữ liệu mà tiến trình WeKnora được phép truy cập, đọc secret từ biến môi trường hoặc file cấu hình, và gây gián đoạn dịch vụ.
  • Nếu runtime có mount, network access hoặc credential rộng, tác động có thể lan sang tài nguyên nội bộ, dịch vụ liên quan hoặc môi trường khác. Đây là khả năng phụ thuộc cấu hình triển khai, không phải phạm vi được bảo đảm trong mọi cài đặt.
  • Advisory cũng nêu khả năng ảnh hưởng qua ranh giới tenant trong backend runtime dùng chung, nhưng phạm vi thực tế vẫn phụ thuộc kiến trúc cô lập tenant.

Cách khắc phục

  1. Nâng cấp lên 0.2.5, là phiên bản được mô tả trong hồ sơ CNA và GitHub Advisory Database là đã được vá. Sau khi nâng cấp, xác nhận bản triển khai thực tế đang chạy đúng phiên bản và kiểm tra lại luồng tạo, cập nhật, kiểm thử MCP stdio.
  2. Trong thời gian chưa thể nâng cấp, hạn chế quyền truy cập mạng và quyền tài khoản đối với các API tạo, cập nhật và kiểm thử MCP service; chỉ cho phép nhóm quản trị được tin cậy thực hiện các thao tác này. Đây là biện pháp bù trừ, không phải bản vá được vendor xác nhận.
  3. Rà soát và vô hiệu hóa các MCP service stdio không cần thiết, đồng thời kiểm tra các cấu hình đã tồn tại để phát hiện command hoặc arguments không nằm trong chính sách vận hành của tổ chức.
  4. Điều tra các yêu cầu kiểm thử MCP và subprocess phát sinh trước khi vá. Nếu phát hiện cấu hình đáng ngờ hoặc hoạt động bất thường, xử lý như sự kiện có khả năng làm lộ secret hoặc thay đổi dữ liệu, vì hồ sơ không cung cấp một IOC đầy đủ để loại trừ ảnh hưởng chỉ bằng kiểm tra log.

Cách phát hiện

  • Kiểm kê toàn bộ phiên bản Tencent WeKnora đang chạy và xác định các triển khai sử dụng MCP service với transport_type=stdio.
  • Rà soát dữ liệu cấu hình MCP để tìm các trường stdio_config.command và stdio_config.args, đặc biệt với các service được tạo hoặc cập nhật bởi tài khoản không phải administrator.
  • Kiểm tra audit log và API gateway log quanh các endpoint tạo, cập nhật và kiểm thử MCP service: POST /api/v1/mcp-services, PUT /api/v1/mcp-services/:id và POST /api/v1/mcp-services/:id/test.
  • Đối chiếu các yêu cầu kiểm thử MCP với telemetry tiến trình để phát hiện subprocess bất thường do tiến trình WeKnora khởi chạy. Đây là biện pháp giám sát phòng ngừa, không phải IOC được vendor xác nhận.
  • Evidence được xem xét không cung cấp một log signature hoặc IOC cụ thể đủ tin cậy để kết luận an toàn chỉ từ việc không thấy sự kiện.
Nguồn (18)
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.