🇰🇷 한글 설명
MySQL용 OCaml 바인딩 1.0.4 버전에서 mysql_real_escape_string 함수가 멀티바이트 문자 인코딩을 제대로 처리하지 못하여 SQL 인젝션 취약점이 발생한다. 공격자는 특정 멀티바이트 문자를 이용한 이스케이핑 우회를 통해 데이터베이스에 무단으로 접근할 수 있다.
💡 쉬운 설명
데이터베이스 접근용 프로그램이 특수한 문자를 안전하게 처리하지 못해 공격자가 데이터베이스를 조작할 수 있다. 특히 한글, 중국어 같은 다국어 문자를 이용한 공격에 취약하다.
🇺🇸 원문 (English)
The mysql-ocaml bindings 1.0.4 for MySQL do not properly support the mysql_real_escape_string function, which might allow remote attackers to leverage escaping issues involving multibyte character encodings.
📍 영향받는 시스템
mysql-ocaml 1.0.4 이하 버전 (OCaml MySQL 바인딩 라이브러리)
⚔️ 공격 벡터
멀티바이트 문자 인코딩을 이용한 이스케이프 문자 우회로 SQL 인젝션 공격
🛡️ 대응 방법
mysql-ocaml을 1.0.5 이상으로 업그레이드하거나 다른 MySQL 드라이버 사용
🔧 검증 코드
mysql-ocaml 패키지가 설치되어 있으면 버전을 확인하고, 1.0.4 이하면 취약함
opam list | grep mysql-ocaml || ocamlfind query mysql 2>/dev/null