🇰🇷 한글 설명
Perl의 Email::Sender::Transport::Sendmail 2.602 미만 버전에서 Windows 환경 사용 시 임의 명령 실행이 가능합니다. 이메일의 봉투 주소(envelope address)가 _sendmail_pipe 함수를 통해 셸에 전달되는 과정에서 취약점이 발생합니다.
💡 쉬운 설명
이메일을 보낼 때 주소창에 악성 명령어를 섞어 넣으면, 컴퓨터가 이를 이메일 주소가 아닌 실행 명령으로 착각하여 실행해 버리는 문제입니다. 공격자는 이를 통해 사용자의 컴퓨터를 마음대로 조종할 수 있습니다.
🇺🇸 원문 (English)
Email::Sender::Transport::Sendmail versions before 2.602 for Perl allow arbitrary command execution on Windows sending a message whose envelope address reaches the shell in _sendmail_pipe.
On MSWin32 the envelope sender and every recipient go into a single command string, which open() passes to a shell. Every other platform gets the list form, which runs sendmail directly. When the caller supplies no envelope, Email::Sender::Simple takes the recipients from the To and Cc headers and the sender from the From header.
An attacker who controls one of those header addresses runs commands as the sending process.
📍 영향받는 시스템
Email::Sender::Transport::Sendmail versions before 2.602 (on Windows)
⚔️ 공격 벡터
이메일 헤더(From, To, Cc)의 주소 필드에 조작된 명령어를 삽입하여 공격
🛡️ 대응 방법
Email::Sender::Transport::Sendmail를 2.602 이상의 최신 버전으로 업데이트
🔧 검증 코드
출력된 버전 번호가 2.602보다 낮으면 취약한 상태입니다.
perl -MEmail::Sender -e 'print $Email::Sender::VERSION . "\n"' 2>/dev/null
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
💻 영향받는 소프트웨어
Storage Protect Snapshot for Windows