[하루한줄] CVE-2021-1665: Windows 그래픽 드라이버 원격 코드 실행 취약점
URL
Analyzing CVE-2021-1665 – Remote Code Execution Vulnerability in Windows GDI+
Target
- Windows
Explain
Windows의 그래픽 장치 인터페이스(Graphic Device Interface, GDI)에서 발견된 원격 코드 실행 취약점의 세부 정보가 공개되었습니다.
취약점은 gdiplus.dll
에서 EMF 파일을 파싱 할 때 발생합니다.
EMF : WMF 파일의 확장으로 응용프로그램에서 이미지 또는 그래픽을 렌더링 할 수 있도록 하는 메타 파일
Builtline::BuildAllLines
함수에는 다음 루프 프로세스가 존재합니다.
0x60
bytes 크기의 메모리를 할당Builtline::BuiltLine
를 호출해 할당된 메모리에 데이터 복사BuiltLine::GetUntrimmedCharacterCount
함수를 호출하고 해당 함수의 반환 값(1)을 루프 카운터 더함- 루프 카운터가 EMF 파일의
Length
필드보다 크면 루프 종료
그러나 BuiltLine::GetUntrimmedCharacterCount
함수의 반환 값이 0이 되는 경우를 처리하는 코드가 없어 지정된 Length
필드 값 이상으로 루프가 실행되고 이는 데이터 손상과 원격 코드 실행으로 이어질 수 있습니다.
Microsoft는 BuiltLine::GetUntrimmedCharacterCount
함수의 반환 값을 확인하는 검사를 추가한 패치를 배포하였습니다.
본 글은 CC BY-SA 4.0 라이선스로 배포됩니다. 공유 또는 변경 시 반드시 출처를 남겨주시기 바랍니다.