Description
Crypt::Password versions through 0.28 for Perl are susceptible to timing attacks.

The check_password method uses the built-in eq operator. This allows discrepancies in timing to be used to guess the underlying hash.
Published: 2026-07-20
Score: 7.5 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The flaw is in Crypt::Password’s check_password routine, where it uses Perl’s built‑in eq operator that leaks timing information. An attacker can exploit these timing discrepancies to incrementally deduce the correct hash bytes of a password. This leads to a timing‑leak weakness (CWE‑208) that compromises the confidentiality of stored password hashes during verification.

Affected Systems

Affected is Dr. Steven’s Crypt::Password Perl module, versions up to and including 0.28. Any Perl application or system that imports this module for authentication—such as custom login scripts, web applications, or services that invoke check_password—is vulnerable.

Risk and Exploitability

The CVSS score of 7.5 indicates a high severity, but the EPSS score of <1 % and the absence from CISA KEV suggest that exploitation is presently unlikely and would require significant effort or privileged access. The attack vector is likely remote if the authentication endpoint is exposed, but local exploitation is also possible by repeatedly invoking the vulnerable function to measure timing differences. Exploitation requires repeated calls to check_password and precise timing measurements, implying the need for network access to the authentication service or local execution privileges on the system.

Generated by OpenCVE AI on July 30, 2026 at 19:46 UTC.

Remediation

Vendor Workaround

This module has not been updated since 2012. Users should migrate to an alternative solution.


OpenCVE Recommended Actions

  • Replace Crypt::Password with an actively maintained library that implements constant‑time hash comparison, such as Crypt::Passphrase or Authen::Passphrase.
  • Update all authentication code paths to use a proven constant‑time string comparison routine instead of Perl’s built‑in eq operator.
  • Audit the application’s entire authentication workflow to confirm that no remaining timing leaks exist and that the vulnerable module is no longer referenced.

Generated by OpenCVE AI on July 30, 2026 at 19:46 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 23 Jul 2026 21:45:00 +0000

Type Values Removed Values Added
First Time appeared Drsteve
Drsteve crypt::password
Vendors & Products Drsteve
Drsteve crypt::password

Mon, 20 Jul 2026 13:30:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N'}

ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Mon, 20 Jul 2026 07:15:00 +0000

Type Values Removed Values Added
Description Crypt::Password versions through 0.28 for Perl are susceptible to timing attacks. The check_password method uses the built-in eq operator. This allows discrepancies in timing to be used to guess the underlying hash.
Title Crypt::Password versions through 0.28 for Perl are susceptible to timing attacks
Weaknesses CWE-208
References

Subscriptions

Drsteve Crypt::password
cve-icon MITRE

Status: PUBLISHED

Assigner: CPANSec

Published:

Updated: 2026-07-20T18:38:21.362Z

Reserved: 2026-04-20T08:08:16.230Z

Link: CVE-2026-6656

cve-icon Vulnrichment

Updated: 2026-07-20T18:38:21.362Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-30T20:00:20Z

Weaknesses
  • CWE-208

    Observable Timing Discrepancy