Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Mailcow-CVE-2022-31138 — Mailcow CVE-2022-31138 RCE | Kitploit
도구/GitHubGitHub/ly1g3/mailcow-cve-2022-31138
Privilege EscalationVulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingPayload Development
GitHubly1g3/mailcow-cve-2022-31138

Mailcow-CVE-2022-31138

Mailcow CVE-2022-31138 RCE

저장소 보기
24년 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Mailcow CVE-2022-31138

Mailcow용 RCE 및 도메인 관리자 권한 상승. CVE-2022-31245용 POC는 이 취약점과 함께 작동하도록 수정할 수 있습니다.

보고 및 수정: 2022-06

코드 삽입, RCE

유형: 코드 삽입 (CWE-94), RCE, 도메인 탈취
영향을 받는 버전: 최소 2019 - 2022-06a

모든 최신 Mailcow 버전에는 시스템의 일반 사용자가 imapsync의 임의 regex 필드에서 perl 코드 삽입을 통해 셸을 얻기 위해 "Sync Job" 기능을 악용할 수 있는 결함이 존재합니다. 이 익스플로잇을 사용하면 공격자는 쉽게 데이터베이스로 피벗하고 Mailcow에서 "도메인 관리자" 역할로 권한을 상승시킬 수 있습니다.

이 익스플로잇은 Sync Job이 타이머로 실행되므로 기본적으로 지속성을 포함합니다.

이 익스플로잇은 전체 Mailcow 인스턴스를 손상시킵니다. 2022-06a 기준 최신 릴리스에서 테스트 및 작동 확인됨.

기술 개요

imapsync의 거의 모든 정규식 표현은 eval 함수를 사용하여 평가됩니다. 이는 매개변수가 사용자 입력으로 제공될 때 매우 안전하지 않습니다. 예를 들어, imapsync에서 --regexmess가 구문 분석되는 방식은 다음과 같습니다 (14213행):

root@kitploit:~
sub regexmess
{
        my ( $string ) = @_ ;
        foreach my $regexmess ( @regexmess ) {
                $sync->{ debug } and myprint( "eval \$string =~ $regexmess\n" ) ;
                my $ret = eval "\$string =~ $regexmess ; 1" ;

Mailcow에서 $regexmess는 사용자 입력으로 제공됩니다.

다음 imapsync 플래그(추가로 있을 수 있음)를 사용하여 코드 실행을 달성할 수 있습니다:

root@kitploit:~
--regexmess
--skipmess
--regexflag
--delete2foldersonly
--delete2foldersbutnot
--regextrans2

아래 단계를 사용하여 취약점을 재현할 수 있습니다.

셸 획득:

  1. Mailcow 로그인 페이지로 이동합니다 (SOGo 아님)
  2. 일반 사용자로 로그인합니다
  3. Sync Jobs로 이동합니다
  4. 다음 값을 설정합니다: hostname=MAILCOW_IP, Port=IMAP_PORT, Username=CURRENT_USER, Password=CURRENT_PASS, Encryption=PLAIN, Interval=1, Active=Check, Custom Parameters=--debug --nosslcheck --regexmess=PERL_CODE 여기서 "Custom Parameters" 필드가 중요한 필드입니다. PERL_CODE는 임의의 perl 코드일 수 있습니다.
  5. 저장을 누르고 명령이 실행될 때까지 1분을 기다립니다.

Custom Parameters 예제 페이로드:

root@kitploit:~
--debug --nosslcheck --regexmess=`touch\x{0020}test.txt`

PERL_CODE에는 공백, 따옴표 또는 슬래시가 포함될 수 없습니다. 공백 대신 \x{0020}을 사용하세요. 셸 명령을 실행하려면 `을 사용하세요.

권한 상승:

CVE-2022-31245와 동일한 단계를 따르세요.

도구 다운로드