MaxKB — это ИИ-помощник с открытым исходным кодом для предприятий. В версиях 2.7.1 и ниже защиту сети «песочницы» можно обойти с помощью методаocket.sendto() с флагом MSG_FASTOPEN. Это позволяет аутентифицированному пользователю с разрешениями на редактирование инструментов получать доступ к внутренним службам, которые явно заблокированы конфигурацией запрещенных хостов песочницы.
Песочница MaxKB использует LD_PRELOAD для подключения функции Connect() и блокировки подключений к запрещенным IP-адресам, но sendto() Linux с флагом MSG_FASTOPEN может устанавливать TCP-соединения непосредственно через ядро, даже не вызывая Connect(), полностью минуя проверку IP. Хотя sendto указан в оболочке syscall(), это неэффективно, поскольку glibc вызывает системный вызов ядра напрямую, а не маршрутизируется через перехваченную функцию syscall(). Эта проблема исправлена в версии 2.8.0.
Показать оригинальное описание (EN)
MaxKB is an open-source AI assistant for enterprise. In versions 2.7.1 and below, sandbox network protection can be bypassed by using socket.sendto() with the MSG_FASTOPEN flag. This allows authenticated user with tool-editing permissions to reach internal services that are explicitly blocked by the sandbox's banned hosts configuration. MaxKB's sandbox uses LD_PRELOAD to hook the connect() function and block connections to banned IPs, but Linux's sendto() with the MSG_FASTOPEN flag can establish TCP connections directly through the kernel without ever calling connect(), completely bypassing the IP validation. Although sendto is listed in the syscall() wrapper, this is ineffective because glibc invokes the kernel syscall directly rather than routing through the hooked syscall() function. This issue has been fixed in version 2.8.0.
Характеристики атаки
Последствия
Строка CVSS v3.1