🇰🇷 한글 설명
FreeRDP 3.29.0 미만 버전에서 TLS 인증서의 ID 검증 과정에 여러 취약점이 존재합니다. OpenSSL의 표준 API 대신 커스텀 문자열 매칭 방식을 사용하여 DNS SAN 값의 NUL 바이트 절단, DNS SAN과 CN 불일치 허용, IP 주소 검증 누락 등의 문제가 발생합니다. 이로 인해 공격자가 신뢰할 수 있거나 잘못 발급된 인증서를 사용하여 서버 신원 확인을 우회할 수 있습니다.
💡 쉬운 설명
인증서의 이름이 진짜인지 확인하는 과정에서 보안 규칙을 제대로 지키지 않아 발생하는 문제입니다. 공격자가 가짜 이름을 섞은 인증서를 사용하면, 컴퓨터가 이를 진짜 서버로 착각하고 연결될 위험이 있습니다.
🇺🇸 원문 (English)
FreeRDP before 3.29.0 (affected versions <= 3.28.0) contains multiple TLS certificate identity validation weaknesses in tls_verify_certificate(), tls_match_hostname(), and x509_utils_get_dns_names(). Because FreeRDP performs custom Common Name and DNS SAN string matching instead of using OpenSSL's length-aware identity validation APIs, it (1) truncates DNS SAN values at embedded NUL bytes (accepting e.g. 'victim.example\0.attacker.example' as 'victim.example'), (2) accepts a matching Common Name even when non-matching DNS SAN entries are present, and (3) accepts IP-literal targets via DNS/CN matching without comparing iPAddress SANs. Under a trusted or misissued certificate chain, an attacker positioned to present such a certificate can bypass server identity verification, weakening TLS server authentication.
📍 영향받는 시스템
FreeRDP 3.29.0 미만 버전 (3.28.0 이하 포함)
⚔️ 공격 벡터
신뢰할 수 있거나 잘못 발급된 인증서를 제시하여 TLS 서버 신원 검증을 우회하는 중간자 공격(MitM)
🛡️ 대응 방법
FreeRDP를 3.29.0 이상의 최신 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 FreeRDP 버전을 확인하여 3.29.0 미만인지 확인하십시오.
freerdp --version 2>/dev/null || dpkg -l | grep freerdp || rpm -qa | grep freerdp