🇰🇷 한글 설명
PeerBanHelper 5.0.0부터 9.3.15 버전까지 인증된 사용자가 조작된 field 쿼리 매개변수를 통해 SQL 인젝션 공격을 수행할 수 있습니다. mapField() 메서드가 입력값을 검증 없이 SQL 쿼리에 직접 삽입하여 SQLite, MySQL, PostgreSQL 데이터베이스의 모든 데이터를 탈취할 수 있는 취약점입니다.
💡 쉬운 설명
로그인 권한이 있는 사용자가 특수한 명령어를 입력하여 프로그램의 데이터베이스를 마음대로 들여다볼 수 있는 보안 약점입니다. 이로 인해 데이터베이스에 저장된 모든 중요한 정보가 유출될 위험이 있습니다.
🇺🇸 원문 (English)
PeerBanHelper automatically blocks unwanted, leeching, and abnormal BitTorrent peers using customizable and cloud rules. From 5.0.0 until 9.3.15, the /api/statistic/analysis/field endpoint accepts a crafted field query parameter from an authenticated user and passes it to countField or sumField. The mapField() method forwards unrecognized field names without sanitization, so unrecognized field names are interpolated into SQL through ${field} across the SQLite, MySQL, and PostgreSQL mappers. Successful exploitation can read all data in the PeerBanHelper database. This issue is fixed in version 9.3.15.
📍 영향받는 시스템
PeerBanHelper 5.0.0 ~ 9.3.15
⚔️ 공격 벡터
인증된 사용자가 /api/statistic/analysis/field 엔드포인트의 field 매개변수에 조작된 SQL 구문을 전달하여 공격
🛡️ 대응 방법
PeerBanHelper를 최신 보안 패치가 적용된 버전인 9.3.15 이상으로 업데이트하십시오.
🔧 검증 코드
명령어 실행 결과로 9.3.15 이상의 버전 번호가 출력되면 취약점이 해결된 상태입니다.
curl -s http://<target_ip>/api/version | grep -E '9.3.15'