🇰🇷 한글 설명
libssh의 ssh_kdf() 함수가 OpenSSL 3.0 이전 버전에서 반환값을 잘못 해석하여, 키 유도 실패 시에도 성공으로 반환된다. 이로 인해 초기화되지 않은 암호화 키 버퍼가 사용되어 SSH 세션의 기밀성과 무결성을 위협한다.
💡 쉬운 설명
libssh에서 암호화 키를 만드는 과정이 실패했는데도 성공했다고 잘못 판단하여, 제대로 만들어지지 않은 키로 통신한다. 따라서 공격자가 SSH 통신 내용을 도청할 수 있다.
🇺🇸 원문 (English)
A flaw was found in libssh versions built with OpenSSL versions older than 3.0, specifically in the ssh_kdf() function responsible for key derivation. Due to inconsistent interpretation of return values where OpenSSL uses 0 to indicate failure and libssh uses 0 for success—the function may mistakenly return a success status even when key derivation fails. This results in uninitialized cryptographic key buffers being used in subsequent communication, potentially compromising SSH sessions' confidentiality, integrity, and availability.
📍 영향받는 시스템
libssh (OpenSSL 3.0 이전 버전으로 빌드된 모든 버전)
⚔️ 공격 벡터
취약한 버전의 libssh를 사용하는 SSH 연결 시 초기화되지 않은 키 버퍼를 이용한 세션 도청
🛡️ 대응 방법
libssh를 최신 버전으로 업그레이드하거나 OpenSSL을 3.0 이상으로 업데이트
🔧 검증 코드
libssh 패키지 버전이 표시되면 해당 버전 번호를 CVE-2025-5372 패치 버전과 비교하여 취약점 존재 여부 확인
dpkg -l libssh* 2>/dev/null | grep libssh || rpm -qa libssh* 2>/dev/null