CVE-2025-27551

4.0 MEDIUM

📋 TL;DR

DBIx::Class::EncodedColumn uses the non-cryptographically secure rand() function to generate salts for password hashes, potentially allowing attackers to predict or brute-force password hashes more easily. This affects applications using DBIx::Class::EncodedColumn for password storage until version 0.00032. The vulnerability primarily impacts systems where password security is critical.

💻 Affected Systems

Products:
  • DBIx::Class::EncodedColumn
Versions: All versions before 0.00032
Operating Systems: All platforms running Perl
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems using DBIx::Class::EncodedColumn's Digest module for password hashing with salt generation.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could predict password hash salts, enabling offline brute-force attacks that compromise user credentials and potentially lead to account takeover.

🟠

Likely Case

Increased risk of password cracking through predictable salt generation, particularly affecting weak passwords or systems with insufficient password policies.

🟢

If Mitigated

With strong password policies and proper patching, the risk is significantly reduced, though predictable salts still weaken cryptographic protection.

🌐 Internet-Facing: MEDIUM
🏢 Internal Only: LOW

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Exploitation requires access to password hashes and knowledge of the predictable salt generation method.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 0.00032

Vendor Advisory: https://metacpan.org/release/WREIS/DBIx-Class-EncodedColumn-0.00032/changes

Restart Required: No

Instructions:

1. Update DBIx::Class::EncodedColumn to version 0.00032 or later using CPAN. 2. Run 'cpan DBIx::Class::EncodedColumn' or update via your package manager. 3. Verify the update by checking the installed version.

🔧 Temporary Workarounds

Use alternative password hashing

all

Temporarily switch to a different password hashing library that uses cryptographically secure random number generation.

🧯 If You Can't Patch

  • Implement strong password policies requiring complex passwords to mitigate brute-force risks.
  • Monitor authentication logs for unusual login attempts and implement account lockout mechanisms.

🔍 How to Verify

Check if Vulnerable:

Check the installed version of DBIx::Class::EncodedColumn; if below 0.00032, the system is vulnerable.

Check Version:

perl -MDBIx::Class::EncodedColumn -e 'print $DBIx::Class::EncodedColumn::VERSION'

Verify Fix Applied:

Confirm the version is 0.00032 or higher and review the source code to ensure rand() is no longer used for salt generation.

📡 Detection & Monitoring

Log Indicators:

  • Unusual login patterns or brute-force attempts against user accounts.

Network Indicators:

  • Increased authentication requests to the application.

SIEM Query:

Search for multiple failed login attempts from single IPs or rapid successions.

🔗 References

📤 Share & Export