{ "dataType": "CVE_RECORD", "dataVersion": "5.2", "cveMetadata": { "cveId": "CVE-2026-86219", "assignerOrgId": "9b29abf9-4ab0-4765-b253-1875cd9b441e", "state": "PUBLISHED", "assignerShortName": "CPANSec", "dateReserved": "2026-09-06T00:13:35.358Z", "datePublished": "2026-09-06T17:46:30.340Z", "dateUpdated": "2026-09-06T17:46:30.340Z" }, "containers": { "cna": { "affected": [ { "collectionURL": "https://cpan.org/modules", "defaultStatus": "unaffected", "modules": [ "Authen::SASL::Perl::DIGEST_MD5" ], "packageName": "Authen-SASL", "packageURL": "pkg:cpan/Authen-SASL", "programFiles": [ "lib/Authen/SASL/Perl/DIGEST_MD5.pm" ], "programRoutines": [ { "name": "Authen::SASL::Perl::DIGEST_MD5::server_step" }, { "name": "Authen::SASL::Perl::DIGEST_MD5::server_start" } ], "repo": "https://github.com/perl-authen-sasl/perl-authen-sasl", "versions": [ { "lessThan": "2.2100", "status": "affected", "version": "0", "versionType": "custom" } ] } ], "descriptions": [ { "lang": "en", "value": "Authen::SASL::Perl::DIGEST_MD5 versions before 2.2100 for Perl accept replayed authentication responses via unverified nonce in server_step.\n\nserver_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.\n\nAn 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." } ], "impacts": [ { "capecId": "CAPEC-115", "descriptions": [ { "lang": "en", "value": "CAPEC-115 Authentication Bypass" } ] } ], "problemTypes": [ { "descriptions": [ { "cweId": "CWE-294", "description": "CWE-294 Authentication Bypass by Capture-replay", "lang": "en", "type": "CWE" } ] } ], "providerMetadata": { "orgId": "9b29abf9-4ab0-4765-b253-1875cd9b441e", "shortName": "CPANSec", "dateUpdated": "2026-09-06T17:46:30.340Z" }, "references": [ { "url": "https://metacpan.org/release/EHUELS/Authen-SASL-2.2000/source/lib/Authen/SASL/Perl/DIGEST_MD5.pm#L203-222" }, { "url": "https://metacpan.org/release/EHUELS/Authen-SASL-2.2000/source/lib/Authen/SASL/Perl/DIGEST_MD5.pm#L410-414" }, { "url": "https://datatracker.ietf.org/doc/html/rfc2831#section-2.1.2" }, { "tags": [ "patch" ], "url": "https://github.com/perl-authen-sasl/perl-authen-sasl/commit/94337367030612842924f697cead29964a96448d.patch" }, { "tags": [ "release-notes" ], "url": "https://metacpan.org/release/EHUELS/Authen-SASL-2.2100/changes" }, { "tags": [ "related" ], "url": "https://www.cve.org/CVERecord?id=CVE-2025-40918" } ], "solutions": [ { "lang": "en", "value": "Upgrade to Authen-SASL 2.2100 or later." } ], "source": { "discovery": "UNKNOWN" }, "title": "Authen::SASL::Perl::DIGEST_MD5 versions before 2.2100 for Perl accept replayed authentication responses via unverified nonce in server_step", "x_generator": { "engine": "cpansec-cna-tool 0.1" } } } }