🇰🇷 한글 설명
GZDoom 4.14.2 및 이전 버전의 ZScript 액터 상태 처리 과정에서 임의 주소 읽기 및 JIT 컴파일된 코드 섹션에 상수를 쓰는 취약점이 발견되었습니다. 공격자는 조작된 FState 및 VMFunction 구조체를 통해 제어 흐름을 변경하고 공격자가 제어하는 바이트코드를 실행하여 임의 코드를 실행할 수 있습니다.
💡 쉬운 설명
게임 엔진의 스크립트 처리 오류를 이용해 해커가 사용자의 컴퓨터에서 몰래 악성 프로그램을 실행할 수 있는 보안 결함입니다. 특수하게 제작된 게임 데이터나 스크립트를 실행할 때 발생할 수 있습니다.
🇺🇸 원문 (English)
GZDoom is a feature centric port for all Doom engine games. GZDoom is an open source Doom engine. In versions 4.14.2 and earlier, ZScript actor state handling allows scripts to read arbitrary addresses, write constants into the JIT-compiled code section, and redirect control flow through crafted FState and VMFunction structures. A script can copy FState structures into a writable buffer, modify function pointers and state transitions, and cause execution of attacker-controlled bytecode, leading to arbitrary code execution.
📍 영향받는 시스템
GZDoom 4.14.2 및 그 이전의 모든 버전
⚔️ 공격 벡터
조작된 ZScript 구조체(FState, VMFunction)를 포함한 게임 데이터 또는 스크립트 실행
🛡️ 대응 방법
GZDoom을 최신 버전(4.14.3 이상)으로 업데이트하십시오.
🔧 검증 코드
출력된 버전이 4.14.2 이하인지 확인하여 취약 여부를 판단합니다.
gzdoom --version 2>/dev/null || echo 'GZDoom not installed'