원격으로 악용 될 수있는 큐메일 취약점이 발견되었습니다.

Qualys 보안 연구원들은 착취 가능성 큐메일 메일 서버의 취약점, 2005 (CVE-2005-1513)부터 알려졌지만 수정되지 않았습니다. 큐메일은 작동하는 익스플로잇을 만드는 것은 비현실적이라고 주장했습니다. 기본 구성에서 시스템을 공격하는 데 사용될 수 있습니다.

하지만 큐메일 개발자들은 Qualys가 익스플로잇을 준비했기 때문에 그들은 틀 렸습니다. 이 가정을 반박하고 특수 제작 된 메시지를 전송하여 서버에서 원격 코드 실행을 시작할 수 있습니다.

이 문제는 stralloc_readyplus () 함수의 오버플로로 인해 발생하며 매우 큰 메시지를 처리 ​​할 때 발생할 수 있습니다. 운영을 위해서는 가상 메모리 용량이 64GB 이상인 4 비트 시스템이 필요했습니다.

2005 년의 초기 취약성 분석에서 Daniel Bernstein은 할당 된 배열의 크기가 항상 32 비트 값에 맞는다는 코드의 가정이 각 프로세스에 기가 바이트의 메모리를 제공하지 않는다는 사실을 기반으로한다고 주장했습니다. .

지난 15 년 동안 서버의 64 비트 시스템이 32 비트 시스템을 대체했으며 제공되는 메모리 양과 네트워크 대역폭이 크게 증가했습니다.

큐메일과 함께 제공되는 패키지는 Bernstein의 코멘트와 qmail-smtpd 프로세스를 시작할 때 사용 가능한 메모리를 제한했습니다. (예를 들어 Debian 10에서는 제한이 7MB로 설정되었습니다.)

그러나 Qualys 엔지니어는 이것이 충분하지 않다는 것을 발견했습니다. qmail-smtpd에 더해, qmail-local 프로세스에서 원격 공격이 수행 될 수 있으며, 테스트 된 모든 패키지에서 무제한으로 유지됩니다.

증거로 익스플로잇 프로토 타입이 준비되었습니다. 이것은 디폴트 설정에서 큐메일로 데비안에서 제공하는 패키지를 공격하는데 적합합니다. 공격 중에 원격 코드 실행을 구성하려면 서버에는 4GB의 여유 디스크 공간과 8GB의 RAM이 필요합니다..

익스플로잇은 모든 명령을 실행할 수 있습니다 "/ home"디렉토리에 자체 하위 디렉토리가없는 루트 및 시스템 사용자를 제외하고 시스템의 모든 사용자 권한을 가진 쉘

공격은 매우 큰 이메일 메시지를 전송하여 수행됩니다. 헤더에 약 4GB 및 576MB 크기의 여러 줄이 포함됩니다.

qmail-local에서 해당 라인을 처리 할 때 로컬 사용자에게 메시지를 전달하려고 할 때 정수 오버 플로우가 발생합니다. 정수 오버플로는 데이터를 복사 할 때 버퍼 오버플로가 발생하고 libc 코드로 메모리 페이지를 덮어 쓸 수 있습니다.

또한 qmail-local에서 qmesearch ()를 호출하는 과정에서 ".qmail-extension"파일이 open () 함수를 통해 열리게되며, 이는 시스템의 실제 실행 ( ". Qmail-extension")으로 이어집니다. ). 그러나 "확장자"파일의 일부는 수신자의 주소 (예 : "localuser-extension @ localdomain")를 기반으로 형성되기 때문에 공격자는 "localuser-;"사용자를 지정하여 명령의 시작을 구성 할 수 있습니다. 명령; @localdomain»메시지 수신자.

코드 분석에서도 추가 패치에서 두 가지 취약점이 발견되었습니다. 데비안 패키지의 일부인 큐메일을 확인하십시오.

  • 첫 번째 취약점 (CVE-2020-3811)은 이메일 주소 확인 우회를 허용하고 두 번째 취약점 (CVE-2020-3812)은 로컬 정보 유출로 이어집니다.
  • 두 번째 취약점은 로컬 드라이버에 대한 직접 호출을 통해 루트 (qmail-verify가 루트 권한으로 시작) 만 사용할 수있는 파일 및 디렉토리를 포함하여 시스템에있는 파일 및 디렉토리의 존재를 확인하는 데 사용될 수 있습니다.

이 패키지에 대한 일련의 패치가 준비되어 있으며, alloc () 함수 코드에 하드 메모리 제한을 추가하고 큐메일의 새로운 문제를 추가함으로써 2005 년의 이전 취약점을 제거했습니다.

또한 큐메일 패치의 업데이트 된 버전이 별도로 준비되었습니다. notqmail 버전의 개발자는 오래된 문제를 차단하기 위해 패치를 준비하고 코드에서 가능한 모든 정수 오버플로를 제거하기 위해 작업을 시작했습니다.

출처 : https://www.openwall.com/


기사의 내용은 우리의 원칙을 준수합니다. 편집 윤리. 오류를보고하려면 여기에.

코멘트를 첫번째로 올려

코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.