{"id":"CVE-2026-86219","title":"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 …","summary":"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 …","severity":"critical","cvss":9.8,"cvssVector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","cwe":["CWE-294"],"product":"Authen-SASL","affected":["Authen-SASL < 2.2100"],"published":"2026-09-06","updated":"2026-09-08","sourceUpdated":"2026-09-08T19:20:10.770","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-86219","references":[{"url":"https://datatracker.ietf.org/doc/html/rfc2831#section-2.1.2","label":"9b29abf9-4ab0-4765-b253-1875cd9b441e"},{"url":"https://github.com/perl-authen-sasl/perl-authen-sasl/commit/94337367030612842924f697cead29964a96448d.patch","label":"9b29abf9-4ab0-4765-b253-1875cd9b441e"},{"url":"https://metacpan.org/release/EHUELS/Authen-SASL-2.2000/source/lib/Authen/SASL/Perl/DIGEST_MD5.pm#L203-222","label":"9b29abf9-4ab0-4765-b253-1875cd9b441e"},{"url":"https://metacpan.org/release/EHUELS/Authen-SASL-2.2000/source/lib/Authen/SASL/Perl/DIGEST_MD5.pm#L410-414","label":"9b29abf9-4ab0-4765-b253-1875cd9b441e"},{"url":"https://metacpan.org/release/EHUELS/Authen-SASL-2.2100/changes","label":"9b29abf9-4ab0-4765-b253-1875cd9b441e"},{"url":"https://www.cve.org/CVERecord?id=CVE-2025-40918","label":"9b29abf9-4ab0-4765-b253-1875cd9b441e"}],"tags":["nvd","cve.org"],"ssvc":{"exploitation":"none","automatable":"yes","technicalImpact":"total","timestamp":"2026-09-08T18:54:38.530817Z"},"epss":0.00486,"epssPercentile":0.40985,"ingestedAt":"2026-09-07T12:10:14.067Z","slug":"CVE-2026-86219","body":"## Overview\n\nAuthen::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.\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"midnight","depthScore":54,"depthScoreParts":{"impact":53.9,"likelihood":0.1,"exploitation":0,"ransomware":0},"changes":[{"seq":8330,"id":"CVE-2026-86219","ts":1788919998325,"field":"cvss","old":null,"new":"9.8"},{"seq":8329,"id":"CVE-2026-86219","ts":1788919998325,"field":"severity","old":"none","new":"critical"},{"seq":8139,"id":"CVE-2026-86219","ts":1788919288687,"field":"cvss","old":"9.8","new":null},{"seq":8138,"id":"CVE-2026-86219","ts":1788919288687,"field":"severity","old":"critical","new":"none"},{"seq":7948,"id":"CVE-2026-86219","ts":1788916360437,"field":"cvss","old":null,"new":"9.8"},{"seq":7947,"id":"CVE-2026-86219","ts":1788916360437,"field":"severity","old":"none","new":"critical"},{"seq":7757,"id":"CVE-2026-86219","ts":1788915306270,"field":"cvss","old":"9.8","new":null},{"seq":7756,"id":"CVE-2026-86219","ts":1788915306270,"field":"severity","old":"critical","new":"none"},{"seq":7566,"id":"CVE-2026-86219","ts":1788912721819,"field":"cvss","old":null,"new":"9.8"},{"seq":7565,"id":"CVE-2026-86219","ts":1788912721819,"field":"severity","old":"none","new":"critical"},{"seq":7375,"id":"CVE-2026-86219","ts":1788911338654,"field":"cvss","old":"9.8","new":null},{"seq":7374,"id":"CVE-2026-86219","ts":1788911338654,"field":"severity","old":"critical","new":"none"},{"seq":7179,"id":"CVE-2026-86219","ts":1788909080738,"field":"cvss","old":null,"new":"9.8"},{"seq":7178,"id":"CVE-2026-86219","ts":1788909080738,"field":"severity","old":"none","new":"critical"},{"seq":6991,"id":"CVE-2026-86219","ts":1788907395293,"field":"cvss","old":"9.8","new":null},{"seq":6990,"id":"CVE-2026-86219","ts":1788907395293,"field":"severity","old":"critical","new":"none"},{"seq":6793,"id":"CVE-2026-86219","ts":1788905446546,"field":"cvss","old":null,"new":"9.8"},{"seq":6792,"id":"CVE-2026-86219","ts":1788905446546,"field":"severity","old":"none","new":"critical"},{"seq":6611,"id":"CVE-2026-86219","ts":1788903462067,"field":"cvss","old":"9.8","new":null},{"seq":6610,"id":"CVE-2026-86219","ts":1788903462067,"field":"severity","old":"critical","new":"none"},{"seq":6397,"id":"CVE-2026-86219","ts":1788901812539,"field":"cvss","old":null,"new":"9.8"},{"seq":6396,"id":"CVE-2026-86219","ts":1788901812539,"field":"severity","old":"none","new":"critical"},{"seq":6227,"id":"CVE-2026-86219","ts":1788899563008,"field":"cvss","old":"9.8","new":null},{"seq":6226,"id":"CVE-2026-86219","ts":1788899563008,"field":"severity","old":"critical","new":"none"},{"seq":5989,"id":"CVE-2026-86219","ts":1788898181371,"field":"cvss","old":null,"new":"9.8"},{"seq":5988,"id":"CVE-2026-86219","ts":1788898181371,"field":"severity","old":"none","new":"critical"},{"seq":5878,"id":"CVE-2026-86219","ts":1788895711973,"field":"cvss","old":"9.8","new":null},{"seq":5877,"id":"CVE-2026-86219","ts":1788895711973,"field":"severity","old":"critical","new":"none"},{"seq":5734,"id":"CVE-2026-86219","ts":1788894572749,"field":"cvss","old":null,"new":"9.8"},{"seq":5733,"id":"CVE-2026-86219","ts":1788894572749,"field":"severity","old":"none","new":"critical"}]}