섹션별 상세
Exim의 TLS 처리 로직에서 GnuTLS 셧다운 시 발생하는 Use-After-Free 취약점이 발견됐다. TLS 연결 종료 후 xfer_buffer는 해제되지만, 중첩된 BDAT 수신 래퍼가 여전히 유효하여 ungetc() 호출 시 해제된 영역에 '
' 문자를 기록한다. 이 1바이트 쓰기는 Exim의 커스텀 할당자인 store 시스템의 메타데이터를 오염시켜 힙 레이아웃을 조작할 수 있는 프리미티브를 제공한다. 결과적으로 인증되지 않은 원격 공격자가 서버의 제어권을 획득할 수 있는 경로가 열린다.
c
int tls_ungetc(int ch) {
if (ssl_xfer_buffer_lwm < ssl_xfer_buffer_hwm)
return state_server.xfer_buffer[--state_server.xfer_buffer_lwm] = ch;
return EOF;
}해제된 xfer_buffer에 1바이트를 써서 메모리 오염을 유발하는 취약한 함수 예시

근거
- CVE-2026-45185는 Exim 4.97 버전의 기본 설치 환경에서 인증 없이 RCE가 가능하다. — The vulnerability 섹션 및 Reaching the use 문단
AI 에이전트인 XBOW Native는 인간 전문가와의 대결에서 자율적으로 익스플로잇을 개발하는 능력을 보여줬다. AI는 ASLR이 비활성화된 환경에서 glibc의 largebin 공격과 FSOP 기법을 결합하여 RCE를 달성하는 CTF 스타일의 해결책을 제시했다. 이후 ASLR이 활성화된 환경에서도 Exim의 storeblock 길이를 조작하여 BSS 영역의 ACL 설정을 덮어쓰는 정교한 힙 그루밍 전략을 성공시켰다. 이는 AI가 기존에 학습된 수많은 취약점 패턴을 응용하여 실제 소프트웨어의 방어 기제를 우회할 수 있음을 증명한다.
c
static inline void bdat_push_receive_functions(void) {
if (!lwr_receive_getc) {
lwr_receive_getc = receive_getc;
lwr_receive_getbuf = receive_getbuf;
lwr_receive_hasc = receive_hasc;
lwr_receive_ungetc = receive_ungetc;
}
receive_getc = bdat_getc;
receive_getbuf = bdat_getbuf;
receive_hasc = bdat_hasc;
receive_ungetc = bdat_ungetc;
}BDAT 처리 시 하위 레이어 함수를 스택에 저장하고 래퍼를 설치하는 로직
근거
- XBOW Native AI는 ASLR이 켜진 상태에서도 Exim의 storeblock 길이를 조작해 RCE에 성공했다. — Desperate times 섹션 이후의 ASLR on 해결책 설명
인간 전문가는 AI의 한계를 확인하기 위해 더 복잡한 기본 설치 환경에서의 익스플로잇을 시도했다. 특정 버전의 Exim에서 xfer_buffer가 살아있는 객체들 사이에 갇혀 힙 병합이 방해받는 문제를 해결하기 위해 DKIM 관련 메모리 누수 지점을 찾아내어 힙 구멍을 메우는 전략을 사용했다. 이 과정에서 AI에게 특정 메모리 프리미티브 작성을 보조받아 개발 속도를 높였으며, 최종적으로 스택 주소를 유출하는 데 성공했다. 이는 AI가 전문가의 도구로서 연구 효율성을 극대화하는 '터보 버튼' 역할을 할 수 있음을 보여준다.
용어 해설
- 해제 후 사용 취약점(Use-After-Free (UAF))
- — 메모리 할당이 해제된 후에도 해당 주소를 참조하는 포인터가 남아 있어 발생하는 보안 취약점이다. 공격자는 해제된 메모리 영역에 임의의 데이터를 배치하여 프로그램 흐름을 조작하거나 원격 코드 실행(RCE)을 유도할 수 있다.
- 주소 공간 레이아웃 무작위화(ASLR)
- — 메모리 내의 주요 데이터 영역(스택, 힙, 라이브러리 등)의 주소를 실행 시마다 무작위로 배치하는 보안 기술이다. 공격자가 특정 함수나 데이터의 정확한 주소를 예측하기 어렵게 만들어 메모리 오염 공격을 방어하는 데 핵심적인 역할을 한다.
- 반환 지향 프로그래밍 체인(ROP Chain)
- — 실행 가능한 메모리 영역에 이미 존재하는 짧은 코드 조각(Gadgets)들을 연결하여 공격자가 원하는 로직을 실행하는 기법이다. 현대 운영체제의 데이터 실행 방지(DEP)를 우회하여 임의 코드를 실행하기 위해 사용된다.
- 힙 그루밍(Heap Grooming)
- — 공격자가 원하는 특정 위치에 취약한 객체나 조작된 데이터를 배치하기 위해 힙 메모리의 레이아웃을 정교하게 조작하는 기법이다. 메모리 할당과 해제를 반복하여 파편화를 제어하고 예측 가능한 메모리 구조를 만드는 과정이다.
기술
- Exim
- GnuTLS
- Claude Code
- Python
- glibc
활용 사례
- 자동화된 취약점 탐지
- AI 기반 익스플로잇 생성 테스트
- 보안 패치 검증
언급된 리소스
AI 분석 전체 내용 보기
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
원문 발행 2026. 05. 13.수집 2026. 05. 13.출처 타입 RSS
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.
