🇰🇷 한글 설명
Exponent CMS 2.4.0의 orderController.php에서 SQL injection 방어 필터를 우회할 수 있는 취약점이 존재합니다. injectProof 메서드가 홀수 개의 따옴표만 필터링하기 때문에, 공격자가 짝수 개의 따옴표를 사용하여 악의적인 SQL 쿼리를 실행할 수 있습니다.
💡 쉬운 설명
웹사이트의 주문 관리 기능에서 입력값 검사가 불완전하여 데이터베이스 공격이 가능합니다. 공격자가 특정 형태의 입력을 통해 데이터베이스 내용을 몰래 볼 수 있습니다.
🇺🇸 원문 (English)
In /framework/modules/ecommerce/controllers/orderController.php of Exponent CMS 2.4.0, untrusted input is passed into selectObjectsBySql. The method selectObjectsBySql of class mysqli_database uses the injectProof method to prevent SQL injection, but this filter can be bypassed easily: it only sanitizes user input if there are odd numbers of ' or " characters. Impact is Information Disclosure.
📍 영향받는 시스템
Exponent CMS 2.4.0 이하
⚔️ 공격 벡터
orderController.php의 selectObjectsBySql 메서드에 짝수 개의 따옴표를 포함한 SQL injection 페이로드 입력
🛡️ 대응 방법
Exponent CMS를 패치된 버전으로 업그레이드하거나 injectProof 필터 로직을 완전히 개선하여 모든 따옴표 문자를 검증
🔧 검증 코드
명령어가 파일 경로를 반환하면 영향받는 코드 존재, 결과 없으면 패치됨을 의미합니다.
grep -r "selectObjectsBySql" / 2>/dev/null | head -1