Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
cve-2024-30350-research-notes — CVE-2024-30350에 대한 연구 노트로, Foxit PDF Reader의 주석 처리에서 발생하는 범위를 벗어난 읽기(out-of-bounds read) 취약점을 다루며, 트리아지, 공개, 방어 지침을 포함한다. | Kitploit
도구/GitHubGitHub/lmx-071028/cve-2024-30350-research-notes
Vulnerability AnalysisReverse EngineeringInformation GatheringPapers & ResearchLearning & EducationCurated Resources
GitHublmx-071028/cve-2024-30350-research-notes

cve-2024-30350-research-notes

CVE-2024-30350에 대한 연구 노트로, Foxit PDF Reader의 주석 처리에서 발생하는 범위를 벗어난 읽기(out-of-bounds read) 취약점을 다루며, 트리아지, 공개, 방어 지침을 포함한다.

저장소 보기
12시간 4분 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2024-30350 연구 노트

개요

CVE-2024-30350은 Foxit PDF Reader의 범위를 벗어난 읽기(out-of-bounds read) 정보 노출 취약점입니다. 이 문제는 Trend Micro Zero Day Initiative에 의해 ZDI-24-333으로 공개되었으며, 공개 전에는 ZDI-CAN-22708로 추적되었습니다.

공개 권고문은 취약한 영역을 Foxit PDF Reader의 Annotation 객체 처리로 설명합니다. 조작된 PDF는 애플리케이션이 할당된 버퍼의 끝을 넘어 읽도록 만들 수 있습니다. 악용에는 악성 PDF 파일을 열거나 이를 전달하는 페이지를 방문하는 등 사용자 상호작용이 필요합니다. 즉각적인 영향은 민감한 정보 노출이며, 권고문은 이 조건이 다른 취약점과 연계될 때 유용할 수 있다고 언급합니다.

이 저장소는 취약점, 연구 워크플로, 트리아지 프로세스, 공개 노트를 문서화합니다. 의도적으로 무기화된 개념 증명(proof of concept)은 포함하지 않습니다.

공개된 사실

FieldValue
CVECVE-2024-30350
ZDI advisoryZDI-24-333
ZDI caseZDI-CAN-22708
ProductFoxit PDF Reader
VendorFoxit
ComponentAnnotation object handling
WeaknessOut-of-bounds read
CWECWE-125
ImpactInformation disclosure
CVSS3.3
VectorCVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N
Vendor report date2023-12-20
Public advisory date2024-03-28
Advisory update date2024-07-01
Fixed byFoxit PDF Reader 2024.1 and Foxit PDF Editor 2024.1 security updates

Foxit의 2024년 3월 5일 보안 게시판에 따르면, 영향을 받는 Windows 버전에는 Foxit PDF Reader 2023.3.0.23028 및 이전 버전과 게시판에 나열된 버전까지의 여러 Foxit PDF Editor 릴리스 라인이 포함되었습니다.

기술 요약

PDF 주석(annotation)은 페이지의 /Annots 배열을 통해 페이지에 연결된 딕셔너리로 표현됩니다. 리더는 주석 딕셔너리를 파싱하고, 직접 및 간접 값을 해석하고, 기하학 및 모양 데이터를 정규화하고, 그 결과를 렌더링, 선택, 편집, JavaScript, 접근성 경로로 연결해야 합니다.

CVE-2024-30350의 버그 클래스는 해당 주석 파싱 파이프라인에서의 경계 검증 실패입니다. 잘못된 형식의 주석 객체는 Foxit PDF Reader가 더 이상 백킹 버퍼와 일치하지 않는 파생된 길이나 객체 형태를 신뢰하도록 만들 수 있습니다. 취약한 경로에서 프로그램은 할당된 객체 경계를 넘어 읽을 수 있었습니다. 관찰된 실패 모드는 주석 처리 중 접근 위반(access violation)이었으며, 메모리가 다르게 배치되면 동일한 프리미티브가 인접한 프로세스 메모리를 노출할 수 있었습니다.

이 문제는 원클릭 네트워크 취약점이 아니었습니다. 공격자는 대상 사용자가 조작된 문서를 열거나 문서가 열리게 하는 전달 페이지에 도달하도록 설득해야 했습니다. 이는 CVSS의 사용자 상호작용 요구사항에 반영되어 있습니다.

발견 이야기

원래 조사는 일반적인 파일 형식 퍼징 실행이 아니라 복잡한 PDF 객체 패밀리에 대한 집중 감사로 시작되었습니다. 주석 처리가 선택된 이유는 주석이 파서 로직, UI 동작, JavaScript 노출, 증분 문서 업데이트가 밀집하게 교차하는 지점에 있기 때문입니다.

초기 코퍼스는 일반 문서와 높은 변동성을 가진 주석 딕셔너리를 포함하는 합성 페이지를 혼합했습니다. 생성기는 배열 길이, 객체 간접 참조, null 값, 예상치 못한 기본 유형, 재귀 참조, 모양 스트림 조합을 다양하게 변경했습니다. 가장 유용한 샘플은 완전히 무작위가 아니었습니다. 주석 정규화 코드에 도달할 만큼 문법을 인식하면서도 네이티브 파서의 가정을 테스트할 만큼 여전히 잘못된 형식이었습니다.

첫 번째 신호는 페이지에 특정 잘못된 형식의 주석 구조가 포함되고 주석이 대화형 처리 경로를 통해 강제로 처리될 때만 재현되는 크래시였습니다. 문서를 여는 것만으로도 페이지를 파싱하기에 충분했지만, 뷰를 새로 고치거나, 페이지를 확대하거나, 선택 또는 렌더링 코드가 주석 트리를 건드릴 때 안정적인 재현이 향상되었습니다.

디버깅은 주석 객체 처리 중 힙 할당의 끝을 넘어 읽는 문제로 좁혀졌습니다. 크래시는 null 역참조와 유사하지 않았습니다. 실패한 명령은 주석 관련 버퍼에 인접한 메모리를 소비했으며, 최소화된 샘플의 크기 관계는 파싱된 논리적 개수와 해당 객체에 실제로 사용 가능한 저장 공간 사이의 불일치를 시사했습니다.

샘플은 관련 없는 PDF 객체, 페이지 리소스, 폰트, 메타데이터, 스트림을 반복적으로 제거하여 페이지 트리, 대상 페이지, 주석 구조만 남을 때까지 최소화되었습니다. 축소된 파일은 동일한 크래시 시그니처를 유지했으며, 이는 조정된 공개에 적합하게 만들었습니다.

트리아지 후, 발견 사항은 Zero Day Initiative를 통해 제출되었습니다. 공개 권고문의 벤더 보고 날짜는 2023-12-20입니다. 조정된 권고문은 2024-03-28에 게시되었으며, Foxit은 2024.1 업데이트 라인에서 이 문제를 해결했습니다.

영향

직접적인 영향은 Foxit PDF Reader 프로세스의 메모리 노출입니다. 단독으로는 일반적으로 제한적인 기밀성 영향만을 의미합니다. 그러나 더 완전한 익스플로잇 체인에서는 범위를 벗어난 읽기가 힙 내용, 객체 포인터, 할당 레이아웃 또는 별도의 메모리 손상 취약점을 안정적으로 만들기 위해 필요한 기타 프로세스 상태를 유출하는 데 유용할 수 있습니다.

이는 낮은 단독 CVSS 점수를 설명하면서도 익스플로잇 체인 강화에 있어 이 문제를 여전히 의미 있게 만듭니다.

방어 노트

사용자는 Foxit PDF Reader와 Foxit PDF Editor를 수정된 버전으로 업데이트해야 합니다. 신뢰할 수 없는 PDF를 처리하는 조직은 또한 Protected View, Safe Reading Mode, 파일 평판 제어, 첨부 파일 필터링, 엔드포인트 익스플로잇 완화 기능을 활성화된 상태로 유지해야 합니다.

파서 개발자에게 주요 교훈은 주변 PDF가 구문적으로 유효하더라도 주석 딕셔너리를 신뢰할 수 없는 구조화된 입력으로 취급해야 한다는 것입니다. 파생된 길이, 정규화된 배열, 해석된 간접 객체, 캐시된 객체 표현은 파서, 렌더러, 스크립팅, UI 코드 사이의 모든 경계에서 검증되어야 합니다.

저장소 내용

PathPurpose
README.mdMain vulnerability overview
docs/discovery-process.mdEnd-to-end research narrative
docs/advisory-notes.mdPublic advisory facts and references
docs/triage-checklist.mdGeneral checklist used for PDF reader crash triage

참고 자료

  • https://www.zerodayinitiative.com/advisories/ZDI-24-333/
  • https://www.cve.org/CVERecord?id=CVE-2024-30350
  • https://nvd.nist.gov/vuln/detail/CVE-2024-30350
  • https://www.foxit.com/support/security-bulletins.html
도구 다운로드