🇰🇷 한글 설명
Simple Machines Forum 1.1.4 이하 버전의 Load.php에서 db_character_set 파라미터에 big5 같은 멀티바이트 문자셋을 사용할 때 발생하는 SQL 인젝션 취약점입니다. addslashes() 함수가 멀티바이트 문자셋에서 백슬래시를 생성하지만 단일 따옴표를 제대로 이스케이프하지 못해 공격자가 임의의 SQL 명령어를 실행할 수 있습니다.
💡 쉬운 설명
오래된 게시판 소프트웨어에서 텍스트 입력 시 특수 문자를 제대로 차단하지 못하는 결함이 있습니다. 공격자가 이를 악용하여 데이터베이스를 직접 조작할 수 있습니다.
🇺🇸 원문 (English)
SQL injection vulnerability in Load.php in Simple Machines Forum (SMF) 1.1.4 and earlier allows remote attackers to execute arbitrary SQL commands by setting the db_character_set parameter to a multibyte character set such as big5, which causes the addslashes PHP function to produce a "\" (backslash) sequence that does not quote the "'" (single quote) character, as demonstrated via a manlabels action to index.php.
📍 영향받는 시스템
Simple Machines Forum (SMF) 1.1.4 이하 모든 버전
⚔️ 공격 벡터
manlabels 액션을 통해 index.php에 요청을 보낼 때 db_character_set 파라미터를 big5 등 멀티바이트 문자셋으로 설정하여 SQL 인젝션 페이로드 주입
🛡️ 대응 방법
SMF를 1.1.5 이상으로 업그레이드하거나, Load.php의 SQL 인젝션 검증 로직을 패칭하여 멀티바이트 문자셋에서도 안전하게 처리하도록 수정
🔧 검증 코드
SMF가 설치된 경우 Load.php에서 db_character_set 관련 코드가 출력되며, 해당 파일의 수정 날짜와 버전을 확인하여 1.1.5 이상으로 패칭되었는지 검증
grep -r "db_character_set" /path/to/smf/Sources/Load.php 2>/dev/null | head -1