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.

Added: Jul 16, 2025, 3:11 PM
Updated: Jul 16, 2025, 3:11 PM

Vulnerability Rating

Custom Algorithm
spread
0.0
impact
5.0
exploitability
7.4
remediation
0.0
relevance
0.2
threat
4.8
urgency
2.9
incentive
1.7

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.