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.
The product performs a calculation that generates incorrect or unintended results that are later used in security-critical decisions or resource management.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Libssh | Ubuntu | upstream | * |