🇰🇷 한글 설명
Kimai 0.9.2.x의 db_restore.php 엔드포인트에 존재하는 미인증 SQL injection 취약점입니다. 공격자는 dates[] POST 파라미터를 통해 임의의 SQL 쿼리를 주입할 수 있으며, INTO OUTFILE을 이용한 파일 쓰기가 가능합니다. 이를 통해 웹 접근 가능한 디렉토리에 PHP 페이로드를 작성하여 원격 코드 실행을 달성할 수 있습니다.
💡 쉬운 설명
Kimai 소프트웨어의 특정 버전에서 공격자가 로그인 없이 악의적인 데이터베이스 명령을 보낼 수 있는 취약점입니다. 이를 이용하면 악성 코드를 서버에 설치하고 실행할 수 있습니다.
🇺🇸 원문 (English)
An unauthenticated SQL injection vulnerability exists in Kimai version 0.9.2.x via the db_restore.php endpoint. The flaw allows attackers to inject arbitrary SQL queries into the dates[] POST parameter, enabling file write via INTO OUTFILE under specific environmental conditions. This can lead to remote code execution by writing a PHP payload to the web-accessible temporary directory. The vulnerability has been confirmed in versions including 0.9.2.beta, 0.9.2.1294.beta, and 0.9.2.1306-3.
📍 영향받는 시스템
Kimai 0.9.2.x (0.9.2.beta, 0.9.2.1294.beta, 0.9.2.1306-3 포함)
⚔️ 공격 벡터
POST 요청의 dates[] 파라미터에 SQL injection을 통해 INTO OUTFILE로 PHP 파일을 웹 디렉토리에 작성
🛡️ 대응 방법
Kimai를 보안 패치가 적용된 최신 버전으로 업그레이드하거나 db_restore.php에 대한 접근을 제한
🔧 검증 코드
명령어로 파일이 발견되면 해당 경로의 Kimai 설치본이 존재하며, 그 디렉토리의 config 파일이나 index.php에서 VERSION을 확인하여 0.9.2.x 버전 여부를 검증
find / -name db_restore.php 2>/dev/null