Security Vulnerability Report
中文
CVE-2026-9641 CVSS 5.3 MEDIUM

CVE-2026-9641

Published: 2026-06-12 16:16:35
Last Modified: 2026-06-13 04:17:36
Source: 9b29abf9-4ab0-4765-b253-1875cd9b441e

Description

Crypt::PBKDF2 versions before 0.261630 for Perl have a weak default algorithm and number of iterations. The default algorithm is HMAC-SHA1, which should only be used for legacy systems. These versions default to using 1000 iterations. Depending on the chosen algorithm, 220,000 to 1,400,000 iterations should be used.

CVSS Details

CVSS Score
5.3
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N

Configurations (Affected Products)

No configuration data available.

Crypt::PBKDF2 < 0.261630

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
#!/usr/bin/env perl # CVE-2026-9641 PoC - Demonstrating weak default PBKDF2 configuration # This PoC shows how weak parameters make password cracking easier use strict; use warnings; use Crypt::PBKDF2; use Time::HiRes qw(gettimeofday tv_interval); print "=== CVE-2026-9641 PoC: Weak Crypt::PBKDF2 Defaults ===\n\n"; # Create PBKDF2 hasher with VULNERABLE defaults (versions < 0.261630) my $pbkdf2 = Crypt::PBKDF2->new( hash_class => 'HMACSHA1', # Weak algorithm iterations => 1000, # Low iteration count output_len => 32, ); # Simulate password hashing my $password = 'Password123!'; my $start_time = [gettimeofday]; my $hash = $pbkdf2->generate($password); my $elapsed = tv_interval($start_time) * 1000; print "[VULNERABLE] Hash generated with weak defaults:\n"; print " Algorithm: HMAC-SHA1\n"; print " Iterations: 1000\n"; print " Time: ${elapsed}ms\n"; print " Hash: $hash\n\n"; # Compare with SECURE configuration my $secure_pbkdf2 = Crypt::PBKDF2->new( hash_class => 'HMACSHA2', # Strong algorithm iterations => 600000, # OWASP 2023 recommended output_len => 32, ); $start_time = [gettimeofday]; my $secure_hash = $secure_pbkdf2->generate($password); $elapsed = tv_interval($start_time) * 1000; print "[SECURE] Hash generated with recommended settings:\n"; print " Algorithm: HMAC-SHA2\n"; print " Iterations: 600000\n"; print " Time: ${elapsed}ms\n"; print " Hash: $secure_hash\n\n"; print "Note: The vulnerable configuration is 600x faster to crack!\n";

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-9641", "sourceIdentifier": "9b29abf9-4ab0-4765-b253-1875cd9b441e", "published": "2026-06-12T16:16:35.047", "lastModified": "2026-06-13T04:17:35.580", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "Crypt::PBKDF2 versions before 0.261630 for Perl have a weak default algorithm and number of iterations.\n\nThe default algorithm is HMAC-SHA1, which should only be used for legacy systems.\n\nThese versions default to using 1000 iterations.\n\nDepending on the chosen algorithm, 220,000 to 1,400,000 iterations should be used."}], "metrics": {"cvssMetricV31": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N", "baseScore": 5.3, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 3.9, "impactScore": 1.4}]}, "weaknesses": [{"source": "9b29abf9-4ab0-4765-b253-1875cd9b441e", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-916"}]}], "references": [{"url": "https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html#pbkdf2", "source": "9b29abf9-4ab0-4765-b253-1875cd9b441e"}, {"url": "https://metacpan.org/release/ARODLAND/Crypt-PBKDF2-0.261630/changes", "source": "9b29abf9-4ab0-4765-b253-1875cd9b441e"}, {"url": "http://www.openwall.com/lists/oss-security/2026/06/12/5", "source": "af854a3a-2127-422b-91ae-364da2661108"}, {"url": "http://www.openwall.com/lists/oss-security/2026/06/13/1", "source": "af854a3a-2127-422b-91ae-364da2661108"}]}}