Security Advisories (1)
CVE-2026-86219 (2026-09-06)

Authen::SASL::Perl::DIGEST_MD5 versions before 2.2100 for Perl accept replayed authentication responses via unverified nonce in server_step. server_start generates a fresh nonce and sends it in the challenge, and nothing later compares that value against the nonce the client returns. server_step derives the expected digest from the client's own parameters, so a response verifies whenever its digest matches the nonce it carries. The count table it also checks is keyed on the client-supplied nonce and starts empty in each new server object, so a captured first response, carrying `nc=00000001`, passes that too. RFC 2831 defines the nonce in the response as the value the server sent in the preceding challenge. An attacker who observes one successful `qop=auth` exchange can replay the captured response against a later session for the same service, host, realm and user, and authenticate as that user without knowing the password.

NAME

Authen::SASL::Perl::XOAUTH2 - XOAUTH2 Authentication class

VERSION

version 2.1900

SYNOPSIS

use Authen::SASL qw(Perl);

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

DESCRIPTION

This module implements the client side of the XOAUTH2 SASL mechanism, which is used for OAuth 2.0-based authentication.

CALLBACK

The callbacks used are:

Client

user

The username to be used for authentication.

pass

The OAuth 2.0 access token to be used for authentication.

SEE ALSO

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

AUTHORS

Written by Aditya Garg and Julian Swagemakers.

COPYRIGHT

Copyright (c) 2025 Aditya Garg.

Copyright (c) 2025 Julian Swagemakers.

All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.