🇰🇷 한글 설명
GYM One 1.4.1 미만 버전에서 관리자 페이지의 검색 기능에 SQL 인젝션 취약점이 존재합니다. 인증된 관리자가 search_name 또는 search_email 파라미터를 조작하여 임의의 테이블 데이터를 읽거나 데이터베이스 권한에 따라 파일 시스템에 접근할 수 있습니다.
💡 쉬운 설명
헬스장 관리 프로그램의 검색창에 특수 명령어를 입력하여 데이터베이스를 조작할 수 있는 보안 약점입니다. 이를 통해 사용자 정보나 비밀번호를 훔치거나 시스템 파일을 건드릴 위험이 있습니다.
🇺🇸 원문 (English)
GYM One is open-source gym management software for fitness centers, personal trainers, and sports clubs. Prior to 1.4.1, GYM One's admin/users/index.php concatenates the search_name and search_email GET parameters into both the user-list query and the COUNT query used for pagination without prepared statements. An authenticated administrator can inject SQL through either search field to read data from arbitrary tables, including user information and password hashes. Depending on database permissions, the same injection may also permit filesystem writes. This issue is fixed in version 1.4.1.
📍 영향받는 시스템
GYM One 1.4.1 미만 모든 버전
⚔️ 공격 벡터
인증된 관리자 권한을 이용한 HTTP GET 파라미터(search_name, search_email) 조작
🛡️ 대응 방법
GYM One 소프트웨어를 최신 버전인 1.4.1 이상으로 업데이트하십시오.
🔧 검증 코드
해당 파일 내에서 검색 파라미터가 Prepared Statement 없이 직접 쿼리에 결합되는지 확인합니다.
grep -r "admin/users/index.php" /path/to/gymone/ && grep -E "search_name|search_email" /path/to/gymone/admin/users/index.php