[DreamHack] [Pwnable] Showdown

image.png

image.png

진짜 취약점 찾는데에만 대부분의 시간이 다 들어갔던 것 같다..

CVE-2022-24724라는 취약점이 존재하는 줄도 몰랐는데, 해당 취약점을 활용하는 문제였다.

https://github.com/github/cmark-gfm/security/advisories/GHSA-mc3g-88wq-6f4x

image.png

해당 취약점은 마커 행이 UINT16_MAX 열을 초과하는 테이블을 구문 분석할 때 cmark-gfm의 테이블 행 구문 분석

table.c:row_from_string에서 정수 오버플로가 발생하면 힙 메모리 손상이 발생할 수 있다는 점이다.

cmark-gfm이 원격 사용자 제어 마크다운을 렌더링하는데 사용되는 경우,

이 취약점은 영향을 받는 버전의 cmark-gfm 라이브러리를 사용하는 환경에서 RCE로 이어질 수 있다.

image.png

이 문제는 libcmark-gfm.so.0.29.0.gfm.2 와 libcmark-gfm-extensions.so.0.29.0.gfm.2 라이브러리를 사용하기 때문에 해당 취약점이 발생할 수 있다. ( 문제파일에서 주어지기 때문에, 처음부터 이걸 검색해볼걸 그랬다..)

헤더 행과 마커 행의 컬럼 수 불일치

아레나 할당자(arena allocator) 특징