🇰🇷 한글 설명
FreeRDP 3.27.0 미만 버전에서 rpc_client_recv_fragment 함수가 서버가 선언한 할당 힌트만을 사용하여 스트림 용량을 확인하는 취약점이 존재합니다. 악의적인 TS Gateway가 작은 할당 힌트와 큰 조각 길이를 가진 응답을 보낼 경우, 버퍼 범위를 초과하는 데이터가 복사되어 클라이언트가 충돌하거나 힙 손상을 통한 코드 실행이 가능할 수 있습니다.
💡 쉬운 설명
원격 데스크톱 연결 프로그램인 FreeRDP에서 데이터 크기를 잘못 계산하여 발생하는 보안 약점입니다. 해커가 조작된 데이터를 보내면 프로그램이 강제로 종료되거나 해커의 명령어가 실행될 위험이 있습니다.
🇺🇸 원문 (English)
FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.27.0, rpc_client_recv_fragment in libfreerdp/core/gateway/rpc_client.c ensures the response reassembly stream capacity using only the server-declared alloc_hint rather than the actual StubLength about to be written. A malicious TS Gateway can send a PTYPE_RESPONSE with a small alloc_hint and a much larger frag_length, causing Stream_Write to copy attacker-controlled stub data beyond the 4096-byte pdu->s buffer. This can crash the client and may permit code execution through heap corruption. This issue is fixed in version 3.27.0.
📍 영향받는 시스템
FreeRDP 3.27.0 미만 모든 버전
⚔️ 공격 벡터
악의적인 TS Gateway를 통한 조작된 PTYPE_RESPONSE 패킷 전송
🛡️ 대응 방법
FreeRDP를 최신 버전인 3.27.0 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 FreeRDP 버전을 확인하여 3.27.0 미만인지 확인하십시오.
freerdp --version 2>/dev/null || dpkg -l | grep freerdp
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
💻 영향받는 소프트웨어
Spring Cloud Gateway Server