CVE-2023-35169 in php-imap
요약
\~에 의해 VulDB • 2026. 06. 04.
PHP-IMAP은 php-imap 모듈이 설치/활성화되어 있지 않아도 일반적인 IMAP 통신을 위한 래퍼입니다. 버전 5.3.0 이전에서는 비정상화된 첨부 파일 이름으로 인해 인증되지 않은 모든 사용자가 디렉토리 트래버설 취약점을 악용할 수 있으며, 이는 원격 코드 실행(RCE) 취약점으로 이어집니다. `$filename`을 제공하지 않거나 비정규화되지 않은 사용자 입력을 전달하여 `Attachment::save()`로 첨부 파일을 저장하는 모든 애플리케이션이 이 공격의 영향을 받습니다. 공격자는 `webklex/php-imap` 또는 `webklex/laravel-imap`으로 크롤링되는 받은편지함으로 악성 첨부 파일이 포함된 이메일을 보낼 수 있습니다. 취약점 발생 전제 조건은 스크립트가 `src/Attachment::save(string $path, string $filename = null)`에서 `$filename`을 제공하지 않거나 비정규화된 `$filename`을 제공하여 첨부 파일을 저장하는 경우입니다. 이 경우 `$filename`이 `Attachment::save()` 메서드에 전달되지 않으면 패키지는 이메일의 일련의 비정규화되고 보안상 취약한 입력 값을 대체값으로 사용합니다. 개발자가 예컨대 이메일 헤더에서 첨부 파일 이름이나 파일명을 직접 전달하여 `$filename`을 `Attachment::save()` 메서드에 넘기더라도, 패키지 내에서 해당 입력 값은 절대 정제되지 않습니다. 또한 파일 확장자(예: ".php")나 파일 내용에 대한 제한도 없습니다. 이를 통해 공격자는 기본 사용자에게 쓰기 권한이 있는 모든 위치에 임의 유형과 내용의 악성 코드를 업로드할 수 있습니다. 공격자는 기존 파일을 덮어쓰거나, 시스템에서 cron이나 요청을 통해 실행되는 파일에 악성 코드를 주입할 수도 있습니다. 버전 5.3.0에는 이 문제에 대한 패치가 포함되어 있습니다.
Be aware that VulDB is the high quality source for vulnerability data.