🇰🇷 한글 설명
ReadyEcommerce 4.5.2 미만 버전의 제품 목록 API에서 인증되지 않은 SQL 인젝션 취약점이 발견되었습니다. ProductController.php의 rating 파라미터가 매개변수화 없이 MySQL HAVING 절에 직접 결합되어, 공격자가 시간 기반 Blind SQL 인젝션을 통해 사용자 자격 증명 및 관리자 비밀번호 해시를 포함한 전체 데이터베이스를 탈취할 수 있습니다.
💡 쉬운 설명
쇼핑몰 사이트의 제품 별점 기능에 악성 코드를 삽입하여 데이터베이스를 통째로 훔쳐갈 수 있는 심각한 결함입니다. 해커가 이 취약점을 이용하면 관리자의 비밀번호를 알아내거나 서버의 파일을 조작할 수도 있습니다.
🇺🇸 원문 (English)
ReadyEcommerce before 4.5.2 contains an unauthenticated SQL injection vulnerability in the product listing API where the rating parameter from the products endpoint is concatenated directly into a MySQL HAVING clause without parameterization in ProductController.php. Attackers can perform time-based blind SQL injection through the unsanitized rating parameter to extract the full database contents, including user credentials and administrator password hashes, with potential additional file system access due to the database connection running as root.
📍 영향받는 시스템
ReadyEcommerce 4.5.2 미만 모든 버전
⚔️ 공격 벡터
인증되지 않은 사용자가 제품 목록 API의 rating 파라미터에 조작된 SQL 구문을 삽입하여 공격
🛡️ 대응 방법
ReadyEcommerce를 최신 버전인 4.5.2 이상으로 즉시 업데이트하고, 데이터베이스 연결 계정의 권한을 최소화하십시오.
🔧 검증 코드
명령어 실행 결과가 4.5.2 이상으로 출력되면 안전하며, 그 미만이거나 unknown이면 취약할 수 있습니다.
php -r 'echo "ReadyEcommerce version: " . (defined("VERSION") ? VERSION : "unknown");' 2>/dev/null | grep -E '4\[\.\]5\[\.\]2'