[하루한줄] CVE-2021-21779: Webkit Webcore use-after-free

URL

Webkit WebCore::GraphicsContext use-after-free vulnerability

Target

WebKitGTK 2.30.4

Explain

WebkitGTK 2.30.4의 GraphicsContext는 특정 이벤트를 핸들 할 때 use-after-free 취약점이 발생합니다. Webkit은 오픈소스 웹 콘텐츠 엔진으로 브라우저를 비롯한 여러 응용프로그램에서 사용합니다.

Webkit의 fillText() 함수는 HTMLCanvasElement 내부 특정 좌표에 문자열을 출력합니다. HTMLCanvasElement는 m_widthm_height값을 갖고 있는데 이에 맞춰 fillText() 함수가 출력할 문자열의 좌표가 유효한 범위 내에 있는지 검사합니다.

HTMLCanvasElement는 백그라운드에서 수행된 변경 사항에 따라 m_height 값을 업데이트하지만 업데이트되기 이전의 m_height값을 사용해 메모리를 할당합니다. 또한 fillGradient() 함수가 호출되면 업데이트되기 이전의 값을 사용해 할당 해제된 메모리에 접근합니다.

위 취약점을 악용한 웹사이트에 접속할 경우 information leak 및 추가 memory corruption에 의한 피해를 볼 수 있습니다.