Security Advisories (1)
CVE-2025-40918 (2025-07-16)

Authen::SASL::Perl::DIGEST_MD5 versions 2.04 through 2.1800 for Perl generates the cnonce insecurely. The cnonce (client nonce) is generated from an MD5 hash of the PID, the epoch time and the built-in rand function. The PID will come from a small set of numbers, and the epoch time may be guessed, if it is not leaked from the HTTP Date header. The built-in rand function is unsuitable for cryptographic usage. According to RFC 2831, The cnonce-value is an opaque quoted string value provided by the client and used by both client and server to avoid chosen plaintext attacks, and to provide mutual authentication. The security of the implementation depends on a good choice. It is RECOMMENDED that it contain at least 64 bits of entropy.

NAME

Authen::SASL::Perl::PLAIN - Plain Login Authentication class

VERSION

version 2.1900

SYNOPSIS

use Authen::SASL qw(Perl);

$sasl = Authen::SASL->new(
  mechanism => 'PLAIN',
  callback  => {
    user => $user,
    pass => $pass
  },
);

DESCRIPTION

This method implements the client and server part of the PLAIN SASL algorithm, as described in RFC 2595 resp. IETF Draft draft-ietf-sasl-plain-XX.txt

CALLBACK

The callbacks used are:

Client

authname

The authorization id to use after successful authentication (client)

user

The username to be used for authentication (client)

pass

The user's password to be used for authentication.

Server

checkpass(username, password, realm)

returns true and false depending on the validity of the credentials passed in arguments.

SEE ALSO

Authen::SASL, Authen::SASL::Perl

AUTHORS

Software written by Graham Barr <gbarr@pobox.com>, documentation written by Peter Marschall <peter@adpm.de>.

Please report any bugs, or post any suggestions, to the perl-ldap mailing list <perl-ldap@perl.org>

COPYRIGHT

Copyright (c) 2002-2004 Graham Barr. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

Documentation Copyright (c) 2004 Peter Marschall. All rights reserved. This documentation is distributed, and may be redistributed, under the same terms as Perl itself.

Server support Copyright (c) 2009 Yann Kerherve. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.