🇰🇷 한글 설명
Netty의 SMTP 코덱에서 입력값 검증 미흡으로 인해 SMTP 명령 주입 취약점이 발견되었습니다. 공격자가 CRLF(
) 문자를 포함한 악성 파라미터를 전달하면 임의의 SMTP 명령을 실행할 수 있으며, 이를 통해 신뢰할 수 있는 서버를 사칭하여 이메일을 위조할 수 있습니다.
💡 쉬운 설명
이메일을 보내는 프로그램의 허점을 이용해, 공격자가 마치 회사 공식 메일인 것처럼 가짜 메일을 보낼 수 있는 문제입니다. 공격자가 메일 주소 칸에 특수 문자를 넣어 몰래 다른 명령어를 끼워 넣는 방식입니다.
🇺🇸 원문 (English)
Netty is an asynchronous, event-driven network application framework. In versions prior to 4.1.128.Final and 4.2.7.Final, the SMTP codec in Netty contains an SMTP command injection vulnerability due to insufficient input validation for Carriage Return (\r) and Line Feed (\n) characters in user-supplied parameters. The vulnerability exists in io.netty.handler.codec.smtp.DefaultSmtpRequest, where parameters are directly concatenated into the SMTP command string without sanitization. When methods such as SmtpRequests.rcpt(recipient) are called with a malicious string containing CRLF sequences, attackers can inject arbitrary SMTP commands. Because the injected commands are sent from the server's trusted IP address, resulting emails will likely pass SPF and DKIM authentication checks, making them appear legitimate. This allows remote attackers who can control SMTP command parameters (such as email recipients) to forge arbitrary emails from the trusted server, potentially impersonating executives and forging high-stakes corporate communications. This issue has been patched in versions 4.1.129.Final and 4.2.8.Final. No known workarounds exist.
📍 영향받는 시스템
Netty versions prior to 4.1.128.Final and 4.2.7.Final
⚔️ 공격 벡터
SMTP 명령 파라미터(예: 수신자 주소)에 CRLF(
) 문자를 삽입하여 임의의 SMTP 명령을 주입
🛡️ 대응 방법
Netty를 4.1.129.Final 또는 4.2.8.Final 이상의 버전으로 업데이트
🔧 검증 코드
출력된 결과에서 netty-handler 또는 netty-codec의 버전이 4.1.128.Final 또는 4.2.7.Final 미만인지 확인
mvn dependency:tree | grep -E 'netty-handler|netty-codec'
💻 영향받는 소프트웨어
IBM WebSphere Application Server