🇰🇷 한글 설명
SumatraPDF 3.6 미만 버전의 MobiDoc::ParseHeader 함수에서 발생하는 취약점입니다. 조작된 MOBI 파일을 열 경우 헤더 길이 검증 오류로 인해 힙 버퍼 오버리드(Heap Buffer Over-read)가 발생하여 프로그램이 충돌할 수 있습니다.
💡 쉬운 설명
악의적으로 만들어진 전자책(MOBI) 파일을 SumatraPDF로 열면 프로그램이 비정상적으로 종료될 수 있습니다. 이는 프로그램이 데이터의 길이를 잘못 계산하여 허용되지 않은 메모리 영역을 읽으려 할 때 발생합니다.
🇺🇸 원문 (English)
SumatraPDF is a multi-format reader for Windows. Prior to 3.6, the MobiDoc::ParseHeader function in src/MobiDoc.cpp validates a record using kMobiHeaderMinLen but DecodeMobiDocHeader constructs a decoder sized for kMobiHeaderLen without receiving the actual remaining buffer length. A malformed MOBI file can use an attacker-controlled header length to bypass optional-field early returns and cause the decoder to read beyond a short heap buffer. Opening the crafted document can crash SumatraPDF. This issue is fixed in version 3.6.
📍 영향받는 시스템
SumatraPDF 3.6 미만 버전
⚔️ 공격 벡터
공격자가 조작된 MOBI 파일을 사용자에게 전달하고, 사용자가 이를 SumatraPDF로 열도록 유도함
🛡️ 대응 방법
SumatraPDF를 최신 버전인 3.6 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 번호가 3.6 미만인지 확인하십시오.
sumatrapdf --version 2>/dev/null || powershell "(Get-Command sumatrapdf.exe).VersionInfo.FileVersion"
💻 영향받는 소프트웨어
Storage Protect Snapshot for Windows