ZeroHour

CVE-2026-86219

niche

Authentication Replay Bypass in Authen::SASL::Perl::DIGEST_MD5

CVSS 3.1
9.8 critical
EPSS
<1%p40
Published
()
Modified
AI analysis

Versions before 2.2100 of the Authen::SASL::Perl::DIGEST_MD5 Perl module (SASL DIGEST-MD5 mechanism per RFC 2831) fail to verify that the nonce returned by the client matches the nonce the server generated in its challenge, allowing replayed authentication responses. Because server_step derives the expected digest from the client's own parameters and its nonce-count table is keyed on the client-supplied nonce and starts empty for each new server object, a captured first response (nc=00000001) passes all checks. An attacker who observes one successful qop=auth exchange can replay it against a later session for the same service, host, realm and user and authenticate as that user without knowing the password. Only deployments that use this module on the server side of a SASL DIGEST-MD5 handshake are affected; client-only use is not. No exploitation is known: there is no public PoC, the flaw is not in CISA KEV, and EPSS estimates a 0.5% probability of exploitation in the next 30 days.

What to do: Upgrade the Authen::SASL distribution to the fixed version, 2.2100 or later. Until then, disable server-side DIGEST-MD5 in affected Perl services or restrict it to TLS-protected channels and trusted networks, since exploitation requires on-path capture of a successful authentication exchange. Operators should check whether their Perl applications act as SASL servers using this module; client-only deployments are not impacted.

Affected
CPAN (Perl) Authen::SASL::Perl::DIGEST_MD5all versions before 2.2100
Estimated exposure
nichelikely no more than hundreds to low thousands of vulnerable server-side deployments worldwide (estimate) — CPAN publishes no install counts, so this is estimated from deployment patterns: Authen::SASL is widely installed, but the flaw sits in the rarely used server-side DIGEST-MD5 code path of a legacy mechanism, limiting affected deployments…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

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.

Weakness
CWE-294
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

In the news

CVE-2026-86219: Authen::SASL::Perl::DIGEST_MD5 versions before 2.2100 for Perl accept replayed authentication responses via unverified nonce in server_step

Authen::SASL::Perl::DIGEST_MD5 before 2.2100 for Perl accepts replayed DIGEST-MD5 authentication responses via unverified nonce handling (CVE-2026-86219).

CVE-2026-86219 affects Authen::SASL::Perl::DIGEST_MD5 versions before 2.2100 for Perl. The server_step function does not verify the nonce, allowing replayed authentication responses to be accepted in DIGEST-MD5 SASL exchanges. The fix is available in version 2.2100 of the perl-authen-sasl distribution.

oss-security · 9d agoVulnerabilityCVE-2026-862191