🇰🇷 한글 설명
PostgreSQL libpq의 OCaml 바인딩에서 PQescapeStringConn 함수가 멀티바이트 문자 인코딩을 올바르게 지원하지 않아 발생하는 취약점입니다. 이를 통해 원격 공격자가 escaping 검증을 우회하여 SQL injection 공격을 수행할 수 있습니다.
💡 쉬운 설명
데이터베이스 연결 라이브러리가 특정 언어의 문자(예: 한글, 중국어)를 제대로 처리하지 못해 SQL injection 공격이 가능합니다. 악의적인 사용자가 입력값을 조작하여 데이터베이스에 무단으로 접근하거나 조작할 수 있습니다.
🇺🇸 원문 (English)
The postgresql-ocaml bindings 1.5.4, 1.7.0, and 1.12.1 for PostgreSQL libpq do not properly support the PQescapeStringConn function, which might allow remote attackers to leverage escaping issues involving multibyte character encodings.
📍 영향받는 시스템
postgresql-ocaml 1.5.4, 1.7.0, 1.12.1 및 이를 의존하는 OCaml 애플리케이션
⚔️ 공격 벡터
멀티바이트 인코딩 문자(UTF-8, EUC-KR 등)를 포함한 입력값으로 escaping 검증을 우회하여 SQL injection 수행
🛡️ 대응 방법
postgresql-ocaml을 패치된 버전(1.12.2 이상)으로 업그레이드하거나 파라미터화된 쿼리 사용으로 변경
🔧 검증 코드
설치된 postgresql-ocaml 패키지의 버전을 확인하고, 1.12.1 이하 버전이면 업그레이드 필요합니다.
opam list | grep postgresql-ocaml || dpkg -l | grep ocaml-postgresql || rpm -qa | grep postgresql-ocaml