본문 바로가기

RAD Studio 정보

[HotFix] VCL BMP Buffer Overflow hotfix(취약점 보안패치)

BMP 파일 처리 시 잠재적인 보안 취약점에 대한 패치입니다.

이 취약점은 공격자가 버퍼 오버 플로우를 생성해 임의의 코드를 실행할 수 있는 BMP 파일을 만드는 취약점에 대한 패치입니다.


아래의 링크를 통해 패치하시기 바라며

이전 사용자의 경우 아래 절차를 따라 VCL 소스코드를 직접 수정해 패치할 수 있습니다.


  1. 새로운 VCL Form Application을 만들고 임시 저장합니다.
  2. Vcl.Graphics.pas 파일을 엠바카데로 소스코드 경로(XE6 기준: C:\Program Files (x86)\Embarcadero\Studio\14.0\source\vcl)에서 찾아 위 프로젝트에 추가합니다.
  3. PaletteFromDIBColorTable 함수를 찾아 위와 같이 DIBHandle = 0인 루틴에서 Pal.palNumEntries := ColorCount; 위에 2줄을 추가합니다.(버전에 따라 구조가 다를 수 있습니다.)
  4. 컴파일하면 Vcl.Graphics.dcu 파일이 생성되고 엠바카데로 라이브러리 경로(C:\Program Files (x86)\Embarcadero\Studio\14.0\lib)에 dcu 파일을 복사합니다.
  5. 프로젝트 매니저에서 타겟 플랫폼을 Win32, Win64로 변경하고 Debug, Release 모드 총 4가지를 대상으로 진행하시기 바랍니다.
  6. 라이브러리 경로에 복사도 4회 진행되야 합니다.