🇰🇷 한글 설명
PyWebDAV 0.9.4.1 이전 버전의 MySQLAuthHandler 클래스에서 get_userinfo 메서드의 user와 pw 인자에 대한 SQL injection 취약점입니다. 원격 공격자가 이를 통해 임의의 SQL 명령을 실행할 수 있습니다.
💡 쉬운 설명
PyWebDAV 프로그램의 로그인 입력 칸에 특수 문자를 입력하면 데이터베이스에 직접 명령을 내릴 수 있습니다. 이를 통해 사용자 정보를 탈취하거나 데이터를 조작할 수 있습니다.
🇺🇸 원문 (English)
Multiple SQL injection vulnerabilities in the get_userinfo method in the MySQLAuthHandler class in DAVServer/mysqlauth.py in PyWebDAV before 0.9.4.1 allow remote attackers to execute arbitrary SQL commands via the (1) user or (2) pw argument. NOTE: some of these details are obtained from third party information.
📍 영향받는 시스템
PyWebDAV < 0.9.4.1
⚔️ 공격 벡터
HTTP 요청의 user/pw 파라미터에 SQL 문법을 삽입하여 인증 우회 또는 데이터 조회/수정
🛡️ 대응 방법
PyWebDAV를 0.9.4.1 이상으로 업그레이드하거나 입력값에 대한 매개변수화 된 쿼리(parameterized queries) 사용
🔧 검증 코드
설치된 PyWebDAV 버전이 0.9.4.1 이상이면 안전하며, 그 이하이면 즉시 업그레이드 필요
python3 -c "import pkg_resources; print(pkg_resources.get_distribution('pywebdav').version)" 2>/dev/null || pip show pywebdav | grep Version