🇰🇷 한글 설명
GNU Emacs for Android의 src/sfnt.c 내 sfnt_read_cmap_format_12() 함수에서 정수 오버플로우가 발생합니다. 조작된 TrueType 폰트 파일을 처리할 때 xmalloc 할당 호출의 검증되지 않은 덧셈이 32비트 빌드에서 wrap-around되어 힙 버퍼 오버플로우 쓰기가 발생하며, 이는 코드 실행으로 이어질 수 있습니다. 해당 문제는 커밋 c4e20777c26548722a37b03db93243e83a0d6188에서 수정되었습니다.
💡 쉬운 설명
악성 글꼴 파일을 Emacs가 열면 메모리가 손상되어 공격자가 기기를 장악할 수 있습니다. 이메일, 웹 브라우저(EWW), 문서 등을 통해 이런 파일이 전달될 수 있습니다.
🇺🇸 원문 (English)
GNU Emacs for Android is vulnerable to an integer overflow in the sfnt_read_cmap_format_12() function in src/sfnt.c. When processing a crafted TrueType font file, an unguarded addition in the xmalloc allocation call wraps around on 32-bit builds, causing a heap buffer overflow write. An attacker can deliver a malicious font file via email, EWW (Emacs Web Wowser), or documents with custom faces, causing Emacs to load it. This results in heap memory corruption that can lead to code execution.
This issue was fixed in commit c4e20777c26548722a37b03db93243e83a0d6188
📍 영향받는 시스템
32비트 빌드의 GNU Emacs for Android (수정 커밋 c4e20777 이전 버전)
⚔️ 공격 벡터
조작된 TrueType 폰트 파일을 이메일, EWW, 사용자 지정 글꼴이 포함된 문서로 전달하여 Emacs가 로드하게 함
🛡️ 대응 방법
커밋 c4e20777c26548722a37b03db93243e83a0d6188이 포함된 최신 GNU Emacs for Android 버전으로 업데이트
🔧 검증 코드
출력된 버전이 수정 커밋이 포함된 최신 릴리스보다 낮으면 취약한 것이므로 업데이트가 필요하며, 소스 빌드의 경우 git log에서 c4e20777 커밋 포함 여부를 확인해야 합니다.
emacs --version 2>/dev/null | head -n 1
💻 영향받는 소프트웨어
Microsoft Edge for Android