3.28.0 이전의 FreeRDP(영향을 받는 <=3.27.1)에는 crypto_rsa_common()(libfreerdp/crypto/crypto.c)에 힙 기반 버퍼 오버플로가 포함되어 있습니다. 이 함수는 BN_bn2bin()을 통해 호출자의 출력 버퍼에 모듈러 지수화 결과를 쓰고 그 후에만 output_length > out_length를 확인하므로 범위를 벗어난 바이트는 범위 확인 전에 기록됩니다. 서버 측에서는 클라이언트가 RDP 표준 보안을 선택하면 암호화된 클라이언트 랜덤이 고정된 32바이트 버퍼로 해독됩니다. 왜냐하면 서비스는
3.28.0 이전의 FreeRDP(영향을 받는 <=3.27.1)에는 crypto_rsa_common()(libfreerdp/crypto/crypto.c)에 힙 기반 버퍼 오버플로가 포함되어 있습니다. 이 함수는 BN_bn2bin()을 통해 호출자의 출력 버퍼에 모듈러 지수화 결과를 쓰고 그 후에만 output_length > out_length를 확인하므로 범위를 벗어난 바이트는 범위 확인 전에 기록됩니다. 서버 측에서는 클라이언트가 RDP 표준 보안을 선택하면 암호화된 클라이언트 랜덤이 고정된 32바이트 버퍼로 해독됩니다. 서버가 RSA 공개 키를 게시하기 때문에 인증되지 않은 공격자는 해독된 값이 최대 모듈러스 길이(예: RSA-2048의 경우 256바이트)인 암호문을 위조할 수 있으며, 공격자가 제어하는 사전 인증 최대 224바이트만큼 32바이트 힙 버퍼를 오버플로하여 서비스 거부를 초래할 수 있습니다.
왜 이 VPI인가 (설명가능 · 실험적)
VPI 산정 기준
| 영향도 | 93.00 |
| 악용 신호(추가 악용신호 없음) | ×1.00 |
| VPI | 93.00 |
VPI 공식 vpi-v1 기준
| 소스 | CVSS 버전 | 기본 점수 | 심각도 | 벡터 문자열 | 평가일 |
|---|---|---|---|---|---|
| NVDNIST | 4.0 | 9.3 | CRITICAL | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X | 2026. 07. 21. |
| NVDNIST | 3.1 |
| 9.8 |
CRITICAL |
| CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| 2026. 07. 21. |