🇰🇷 한글 설명
pygresql 모듈 3.8.1 및 4.0 버전의 PQescapeStringConn 함수가 멀티바이트 문자 인코딩을 올바르게 지원하지 않아 이스케이핑 우회 취약점이 발생합니다. 원격 공격자가 이를 악용하여 SQL 주입 공격을 수행할 수 있습니다.
💡 쉬운 설명
Python에서 데이터베이스와 통신할 때 특수 문자를 안전하게 처리하는 함수에 버그가 있습니다. 한글, 중국어 등 멀티바이트 문자를 포함한 데이터가 제대로 검사되지 않아 악의적인 SQL 명령을 삽입될 수 있습니다.
🇺🇸 원문 (English)
The pygresql module 3.8.1 and 4.0 for Python does not properly support the PQescapeStringConn function, which might allow remote attackers to leverage escaping issues involving multibyte character encodings.
📍 영향받는 시스템
pygresql 3.8.1, 4.0 (PostgreSQL Python 모듈)
⚔️ 공격 벡터
멀티바이트 인코딩 문자를 이용한 이스케이핑 우회로 SQL 주입 공격
🛡️ 대응 방법
pygresql을 4.1 이상으로 업그레이드하거나 수정된 패치 적용
🔧 검증 코드
현재 설치된 pygresql 버전이 3.8.1~4.0 범위면 취약점 영향을 받음 (버전이 출력되면 취약)
python3 -c "import pygresql.pg; print(pygresql.pg.__version__)" 2>&1 | grep -E '^[34]\.[0-1]'