🇰🇷 한글 설명
JeecgBoot 3.9.5 이하 버전의 AiragBaseApiController에서 부적절한 직접 객체 참조(IDOR) 취약점이 발견되었습니다. 인증된 사용자가 username 파라미터를 조작하여 다른 사용자의 AI 채팅 변수 및 Redis에 저장된 채팅 메모리 값을 읽을 수 있습니다.
💡 쉬운 설명
로그인한 사용자가 다른 사람의 아이디를 입력하여 그 사람의 AI 대화 기록이나 개인적인 설정값을 몰래 훔쳐볼 수 있는 문제입니다. 공격자는 특정 요청을 보내 다른 사용자의 비밀스러운 대화 내용을 가로챌 수 있습니다.
🇺🇸 원문 (English)
JeecgBoot through 3.9.5 contains an insecure direct object reference vulnerability in AiragBaseApiController that allows authenticated users to read other users' AI chat variables via the username parameter. Attackers can send POST requests to /airag/api/getChatVariable with a target appId, username, and variable name to retrieve stored chat memory values from Redis.
📍 영향받는 시스템
JeecgBoot 3.9.5 이하 모든 버전
⚔️ 공격 벡터
인증된 사용자가 /airag/api/getChatVariable 엔드포인트에 타겟의 username을 포함한 POST 요청을 전송
🛡️ 대응 방법
JeecgBoot를 최신 보안 패치가 적용된 버전으로 업데이트하고, API 호출 시 사용자 권한 검증 로직을 강화하십시오.
🔧 검증 코드
명령어 실행 시 타겟 사용자의 데이터가 응답으로 반환되면 취약한 상태이며, 권한 오류가 발생해야 정상입니다.
curl -s -X POST -H 'Content-Type: application/json' -d '{"appId":"test", "username":"target_user", "variableName":"test"}' http://<target-ip>/airag/api/getChatVariable