🇰🇷 한글 설명
MaxKB 2.7.1 이하에서 인증된 사용자가 Python frame introspection으로 wrapper UUID를 읽고 파일 디스크립터 1을 통해 위조된 도구 실행 결과를 작성할 수 있습니다. sys.exit(0) 호출로 정상 출력을 방지하여 MaxKB가 위조된 결과를 신뢰하도록 만듭니다.
💡 쉬운 설명
MaxKB에서 인증된 사용자가 프로그램의 내부 정보를 읽어 가짜 도구 실행 결과를 만들 수 있습니다. 이를 통해 시스템이 거짓 정보를 신뢰하도록 속일 수 있습니다.
🇺🇸 원문 (English)
MaxKB is an open-source AI assistant for enterprise. In versions 2.7.1 and below, an authenticated user can bypass sandbox result validation and spoof tool execution results by exploiting Python frame introspection to read the wrapper's UUID from its bytecode constants, then writing a forged result directly to file descriptor 1 (bypassing stdout redirection). By calling sys.exit(0), the attacker terminates the wrapper before it prints the legitimate output, causing the MaxKB service to parse and trust the spoofed response as the genuine tool result. This issue has been fixed in version 2.8.0.
📍 영향받는 시스템
MaxKB 버전 2.7.1 이하
⚔️ 공격 벡터
인증된 사용자가 Python frame introspection으로 wrapper UUID를 추출하고 파일 디스크립터 1에 위조된 결과를 작성한 후 sys.exit(0)으로 정상 출력 방지
🛡️ 대응 방법
MaxKB를 버전 2.8.0 이상으로 업그레이드하거나 관리자 계정 접근 제한 및 모니터링 강화
🔧 검증 코드
설치된 MaxKB 버전을 확인하여 2.7.1 이하인 경우 업그레이드 필요
pip list 2>/dev/null | grep -i maxkb