🇰🇷 한글 설명
SOGo 5.12.7 이전 버전에서 PostgreSQL 또는 MariaDB 사용 시, changePasswordForLogin 함수의 c_password = '%@' 패턴으로 인해 평문 비밀번호 저장 중 SQL 인젝션 취약점이 발생합니다. 특수 문자를 포함한 비밀번호 변경 요청으로 SQL 쿼리가 조작되어 데이터베이스 명령 실행이 가능합니다.
💡 쉬운 설명
SOGo에서 비밀번호를 바꿀 때 특수 문자를 사용하면 데이터베이스에 잘못된 명령을 실행시킬 수 있습니다. 공격자가 이를 악용하여 다른 사용자 정보를 접근하거나 조작할 수 있습니다.
🇺🇸 원문 (English)
SOGo before 5.12.7, when PostgreSQL or MariaDB is used, and cleartext passwords are stored, allows SQL injection. This is related to c_password = '%@' in changePasswordForLogin.
📍 영향받는 시스템
SOGo < 5.12.7 (PostgreSQL, MariaDB 백엔드 사용 시)
⚔️ 공격 벡터
비밀번호 변경 기능에서 SQL 구문 문자(예: ', ", ;)를 포함한 비밀번호 입력으로 SQL 인젝션 실행
🛡️ 대응 방법
SOGo를 5.12.7 이상으로 즉시 업그레이드하고 모든 사용자 비밀번호 재설정 및 입력값 검증 강화
🔧 검증 코드
출력된 버전이 5.12.7 이상이면 안전하고, 그 이하면 긴급 패치 필요
dpkg -l sogo 2>/dev/null | grep sogo | awk '{print $3}'