🔍 CVE-2026-71391

0.0
CVSS Score
UNKNOWN
2026-08-10
2026-10-24 15:10
✅ 완료

🇰🇷 한글 설명

Android용 GNU Emacs의 src/sfnt.c에 있는 gvar 테이블 파서에서 off-by-one 오류가 발견되었습니다. sfnt_vary_simple_glyph()와 sfnt_vary_compound_glyph()의 공유 좌표 인덱스 경계 검사가 >= 대신 > 비교를 사용하여, 조작된 TrueType 가변 폰트가 검사를 우회해 memcpy를 통한 힙 기반 범위 외 읽기를 유발할 수 있습니다. 커밋 95ab9ef627b212d74d321c5bbb5b56a1be7b9fbe에서 수정되었습니다.

💡 쉬운 설명

악성 폰트 파일을 열면 Emacs가 메모리 일부를 잘못 읽게 되어 내부 정보가 노출될 수 있습니다. 이 정보는 이후 다른 공격에서 메모리 주소 무작위화(ASLR)를 무력화하는 데 악용될 수 있습니다.

🇺🇸 원문 (English)

GNU Emacs for Android contains an off-by-one error in the gvar table parser in src/sfnt.c. The shared-coordinate index boundary check in sfnt_vary_simple_glyph() and sfnt_vary_compound_glyph() uses a strict greater-than comparison instead of greater-than-or-equal, allowing a crafted TrueType variable font to bypass the check and trigger a heap-based out-of-bounds read via memcpy. 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 exposes heap memory contents which can be later used to defeat ASLR. This issue was fixed in commit 95ab9ef627b212d74d321c5bbb5b56a1be7b9fbe

📍 영향받는 시스템

Android용 GNU Emacs (수정 커밋 95ab9ef 이전 버전)

⚔️ 공격 벡터

이메일, EWW 웹 브라우저, 사용자 지정 글꼴이 포함된 문서를 통해 악성 TrueType 가변 폰트를 전달하여 Emacs가 로드하도록 유도

🛡️ 대응 방법

커밋 95ab9ef627b212d74d321c5bbb5b56a1be7b9fbe 이상이 포함된 최신 Android용 Emacs 버전으로 업데이트

🔧 검증 코드

결과에 '>= num_shared_coords' 형태의 비교가 나타나면 수정이 적용된 것이고, '> num_shared_coords'만 보이거나 결과가 없으면 취약 가능성이 있으니 소스 저장소의 커밋 이력을 확인하거나 Emacs 버전을 업데이트하세요.

Shell / Script
cd "$(find / -name sfnt.c -path '*emacs*' 2>/dev/null | head -1 | xargs dirname 2>/dev/null)" 2>/dev/null && grep -n '> *num_shared_coords\|>= *num_shared_coords' sfnt.c | head -5

💻 영향받는 소프트웨어

Microsoft Edge for Android