🔍 CVE-2026-39418

5.0
CVSS Score
MEDIUM
2026-04-14
2026-10-26 21:10
✅ 완료

🇰🇷 한글 설명

MaxKB 2.7.1 이하 버전에서 샌드박스 네트워크 보호를 우회할 수 있는 취약점입니다. MSG_FASTOPEN 플래그가 설정된 socket.sendto()를 사용하면 connect() 후킹을 거치지 않고 TCP 연결이 가능하여, 도구 편집 권한을 가진 인증된 사용자가 차단된 내부 서비스에 접근할 수 있습니다. 이 문제는 2.8.0 버전에서 수정되었습니다.

💡 쉬운 설명

MaxKB의 보안 샌드박스가 내부 서버 접근을 막아두었지만, 특정 방법을 쓰면 그 차단을 우회할 수 있습니다. 로그인한 일부 사용자가 원래 접근이 금지된 내부 시스템에 연결할 수 있게 됩니다.

🇺🇸 원문 (English)

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.

📍 영향받는 시스템

MaxKB 2.7.1 이하 버전 (2.8.0에서 수정됨)

⚔️ 공격 벡터

도구 편집 권한을 가진 인증 사용자가 MSG_FASTOPEN 플래그로 sendto()를 호출해 샌드박스의 금지 호스트 설정을 우회하고 내부 서비스에 접근

🛡️ 대응 방법

MaxKB를 2.8.0 이상 버전으로 업그레이드

🔧 검증 코드

출력된 버전 번호가 2.8.0 미만이면 취약하므로 업그레이드가 필요하고, 2.8.0 이상이면 수정된 버전입니다.

Shell / Script
docker exec $(docker ps -qf ancestor=maxkb) cat /opt/maxkb/app/VERSION 2>/dev/null || grep -r 'version' /opt/maxkb 2>/dev/null | head -1

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:L

💻 영향받는 소프트웨어

Linux Kernel