🇰🇷 한글 설명
eml_parser 3.0.2 미만 버전에서 이메일 헤더를 파싱할 때 깊게 중첩된 CFWS 주석 구조를 처리하면 재귀 호출 스택이 고갈되어 RecursionError가 발생합니다. 이 오류는 예외 처리가 되지 않아 전체 메시지 파싱을 중단시키며, 공격자가 악의적인 EML 파일을 통해 SOC 파이프라인을 중단시킬 수 있습니다.
💡 쉬운 설명
이메일 파일을 읽어주는 프로그램이 너무 복잡하게 꼬인 이메일 주석을 만나면 과부하가 걸려 멈춰버리는 문제입니다. 공격자가 특수하게 제작된 이메일을 보내면 보안 분석 시스템이 작동을 멈추게 만들 수 있습니다.
🇺🇸 원문 (English)
eml_parser serves as a python module for parsing eml files and returning various information found in the e-mail as well as computed information. Prior to 3.0.2, eml_parser.parser.HeaderParser.header_fetch_parse in eml_parser/parser.py uses email.utils.getaddresses() to parse address-bearing e-mail headers. A deeply nested CFWS comment construct exhausts the standard-library recursive descent parser's call stack and raises RecursionError, which is not caught and therefore aborts parsing of the entire message. An attacker can disrupt SOC pipelines that process untrusted EML files, although callers already need to handle exceptions from malformed or pathological messages. This issue is fixed in version 3.0.2.
📍 영향받는 시스템
eml_parser version < 3.0.2
⚔️ 공격 벡터
악의적으로 조작된 깊은 중첩 구조의 CFWS 주석이 포함된 EML 파일 전송
🛡️ 대응 방법
eml_parser를 3.0.2 버전 이상으로 업데이트
🔧 검증 코드
출력된 버전 번호가 3.0.2보다 낮으면 취약한 상태입니다.
pip show eml_parser | grep Version