🇰🇷 한글 설명
PHP의 ftp_putcmd 함수에서 CRLF 시퀀스를 이용한 FTP 명령어 주입 취약점입니다. 공격자가 FTP 함수의 파라미터에 CRLF 문자를 삽입하여 임의의 FTP 명령어를 실행할 수 있습니다.
💡 쉬운 설명
PHP에서 FTP 접속 시 악의적인 입력 데이터가 포함되면 공격자가 원치 않는 FTP 명령어를 실행시킬 수 있습니다. 주로 정보 열람이나 파일 조작에 이용될 수 있습니다.
🇺🇸 원문 (English)
CRLF injection vulnerability in the ftp_putcmd function in PHP before 4.4.7, and 5.x before 5.2.2 allows remote attackers to inject arbitrary FTP commands via CRLF sequences in the parameters to earlier FTP commands.
📍 영향받는 시스템
PHP 4.4.7 이전 버전, PHP 5.0~5.2.1 버전
⚔️ 공격 벡터
원격 공격자가 ftp_putcmd(), ftp_get(), ftp_put() 등의 FTP 함수 파라미터에 CRLF 시퀀스 (%0a, %0d)를 포함시킨 입력값을 전송
🛡️ 대응 방법
PHP를 4.4.7 이상 또는 5.2.2 이상으로 업그레이드하거나, 모든 FTP 함수 입력값에 대해 CRLF 문자 필터링 구현
🔧 검증 코드
PHP 버전이 4.4.7 이상이고 5.x인 경우 5.2.2 이상인지 확인 필요. 그 이하 버전이면 취약
php -v 2>/dev/null | grep -oP 'PHP \K[0-9]+\.[0-9]+\.[0-9]+'