CVE-2026-61789 in DBHub
Tóm tắt
Bởi VulDB • 30/10/2026
DBHub là một máy chủ MCP (Model Context Protocol) cho cơ sở dữ liệu Postgres, MySQL, SQL Server, Oracle, MariaDB và SQLite. Trước phiên bản 0.22.6, việc xác thực truy vấn SQL chỉ đọc có thể bị bỏ qua trên các bộ kết nối MySQL và MariaDB. Trong `src/utils/sql-parser.ts`, hàm `scanSingleLineComment` coi mọi cặp dấu gạch ngang (--) là bắt đầu của một chú thích, trong khi MySQL và MariaDB yêu cầu phải có khoảng trắng theo sau, ký tự điều khiển hoặc cuối dòng. Kiểm tra chỉ đọc trong `src/tools/execute-sql.ts` xác thực các câu lệnh đã được tách ra bằng hàm `isReadOnlySQL`, nhưng `src/connectors/mysql/index.ts` và `src/connectors/mariadb/index.ts` lại thực thi chuỗi gốc với tùy chọn `multipleStatements` (nhiều câu lệnh) được bật. Do đó, một cặp dấu gạch ngang theo sau bởi ký tự không phải khoảng trắng có thể che giấu các câu lệnh DDL ghi hoặc phá hủy tiếp theo khỏi trình xác thực, trong khi cơ sở dữ liệu diễn giải các dấu gạch ngang là toán tử trừ và thực thi cả hai câu lệnh. Bất kỳ ai có khả năng ảnh hưởng đến SQL của trợ lý, bao gồm thông qua prompt injection (tiêm lời nhắc) trong nội dung mà trợ lý đọc được, đều có thể bỏ qua chế độ chỉ đọc để sửa đổi hoặc xóa dữ liệu cơ sở dữ liệu, tùy thuộc vào đặc quyền của tài khoản cơ sở dữ liệu. PostgreSQL không bị ảnh hưởng bởi lỗ hổng này vì việc phân tích cú pháp dấu gạch ngang hai lần của nó phù hợp với trình kiểm tra và bộ kết nối của nó thực thi từng câu lệnh đã tách ra riêng lẻ. Vấn đề này đã được sửa trong phiên bản 0.22.6.
If you want to get best quality of vulnerability data, you may have to visit VulDB.