🇰🇷 한글 설명
Redmine의 redmine_git_hosting 플러그인 git_http_controller.rb에서 입력 값을 검증하지 않아 원격 공격자가 임의의 명령어를 실행할 수 있는 취약점입니다. info/refs의 service 파라미터 또는 file_exists 함수의 reqfile 인자에 셸 메타문자를 삽입하여 RCE 공격이 가능합니다.
💡 쉬운 설명
Redmine Git 플러그인이 사용자 입력을 제대로 검증하지 않아, 공격자가 서버에서 시스템 명령어를 실행할 수 있습니다. 이를 통해 파일 탈취, 생성, 삭제 등 서버 침해가 가능합니다.
🇺🇸 원문 (English)
git_http_controller.rb in the redmine_git_hosting plugin for Redmine allows remote attackers to execute arbitrary commands via shell metacharacters in (1) the service parameter to info/refs, related to the get_info_refs function or (2) the reqfile argument to the file_exists function.
📍 영향받는 시스템
redmine_git_hosting 플러그인 (2013년 이전 버전) - Redmine 2.x, 3.x 포함
⚔️ 공격 벡터
HTTP 요청의 service 또는 reqfile 파라미터에 셸 메타문자(; | ` $() 등)를 삽입하여 원격 명령어 실행
🛡️ 대응 방법
redmine_git_hosting 플러그인을 최신 버전으로 즉시 업그레이드하고, 모든 사용자 입력에 대한 필터링 및 이스케이프 처리 검증
🔧 검증 코드
파일이 검색되면 플러그인 설치됨 확인 후 버전 확인 필요 (2013년 이전 버전이면 취약함)
find /opt /var/www -name 'git_http_controller.rb' -type f 2>/dev/null | head -5