🇰🇷 한글 설명
FreeRDP 3.27.0 미만 버전에서 RDPGFX AVC444와 H.264 디코더를 사용할 때 발생하는 정수 오버플로 취약점입니다. 악의적인 RDP 서버가 조작된 표면 크기를 전송하면 버퍼 할당 크기가 잘못 계산되어 힙 손상이 발생하며, 이는 클라이언트 충돌이나 원격 코드 실행으로 이어질 수 있습니다.
💡 쉬운 설명
원격 데스크톱 연결 프로그램인 FreeRDP에서 화면 데이터를 처리할 때 계산 오류가 발생하는 문제입니다. 해커가 만든 가짜 서버에 연결하면 컴퓨터의 제어권을 탈취당할 위험이 있습니다.
🇺🇸 원문 (English)
FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.27.0, FreeRDP clients that negotiate RDPGFX AVC444 with an H.264 decoder backend calculate the intermediate YUV444 allocation size in libfreerdp/codec/h264.c with 32-bit multiplication in avc444_ensure_buffer. A malicious RDP server can supply surface dimensions for which piDstStride multiplied by padDstHeight wraps to a small nonzero value, causing winpr_aligned_recalloc to allocate an undersized buffer before YUV420CombineToYUV444 writes using the actual stride and rectangle dimensions. This can cause a client crash and may permit code execution through attacker-influenced heap corruption. This issue is fixed in version 3.27.0.
📍 영향받는 시스템
FreeRDP 3.27.0 미만 모든 버전
⚔️ 공격 벡터
악의적인 RDP 서버를 통한 조작된 표면 크기 데이터 전송
🛡️ 대응 방법
FreeRDP를 3.27.0 이상 버전으로 업데이트
🔧 검증 코드
출력된 FreeRDP의 버전이 3.27.0 미만인지 확인하십시오.
dpkg -l | grep freerdp 2>/dev/null || rpm -qa | grep freerdp 2>/dev/null || brew list --versions freerdp 2>/dev/null