피드로 돌아가기
Dead.letter (CVE-2026-45185) Humans vs. LLM for Unauthenticated RCE Race on Exim
Hacker NewsHacker News
Security

Exim GnuTLS Use-After-Free를 통한 Unauthenticated RCE 취약점 분석

Dead.letter (CVE-2026-45185) Humans vs. LLM for Unauthenticated RCE Race on Exim

2026년 5월 12일47advanced

Context

Exim 메일 서버가 GnuTLS 라이브러리를 통해 TLS 연결을 처리하는 과정에서 메모리 관리 허점을 노출함. TLS 종료 시점과 데이터 수신 래퍼의 동작 시점 차이로 인한 Race Condition 가능성이 존재함.

Technical Solution

  • TLS shutdown 과정 중 Exim이 TLS transfer buffer를 free하는 구조적 결함 식별
  • Nested BDAT receive wrapper가 freed region에 \n 문자를 쓰는 ungetc() 함수를 호출하는 Race Condition 유도
  • 1바이트 write를 통한 Allocator Metadata 오염으로 메모리 힙 구조 변조
  • Corrupted metadata를 활용한 메모리 프리미티브 확보 및 RCE로의 권한 상승 단계 설계
  • GnuTLS 세션 핸들(gnutls_session_t)의 라이프사이클과 Exim 버퍼 해제 시점의 불일치 해결 필요성 확인

1. TLS/SSL 라이브러리 래퍼 설계 시, 핸드셰이크 종료 및 세션 해제 후 잔여 콜백 함수가 공유 버퍼에 접근 가능한지 검토

2. Use-After-Free 방지를 위해 버퍼 해제 직후 해당 포인터를 NULL로 초기화하는 Zeroing 전략 적용

3. 외부 라이브러리(GnuTLS 등)와 애플리케이션 간의 메모리 소유권 및 생명주기(Lifecycle) 명확히 정의

4. 단일 바이트 쓰기(Single-byte write)가 Allocator Metadata를 오염시켜 전체 시스템 권한 탈취로 이어지는 체인 분석 수행

원문 읽기