Authen::SASL::Perl::DIGEST_MD5 Insecure cnonce Generation Vulnerability
Vulnerability
A vulnerability exists in Authen::SASL::Perl::DIGEST_MD5 versions 2.04 through 2.1800 for Perl, where the client nonce (cnonce) is generated insecurely. The cnonce is created from an MD5 hash of the process ID (PID), the epoch time, and the built-in random function, which is not suitable for cryptographic use. The PID is derived from a limited range of numbers, and the epoch time can be estimated unless it is disclosed in the HTTP Date header. This insecure generation of cnonce compromises the integrity of the authentication process by making it vulnerable to certain types of attacks.
Impact
The vulnerability leads to weak authentication by allowing predictable cnonce values, which can be exploited to perform chosen plaintext attacks, according to RFC 2831.
Reproduction
The vulnerability can be reproduced by using Authen::SASL::Perl::DIGEST_MD5 version 2.1800 in a Perl environment. When a client authenticates using the DIGEST-MD5 mechanism, the cnonce is generated from an MD5 hash of the PID, the current epoch time, and a non-cryptographic random value. This process creates a cnonce that lacks sufficient entropy, making it predictable and vulnerable to attacks.
Vulnerability Rating
Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.
