CVE-2025-15618
Business::OnlinePayment · StoredTransaction
The Business::OnlinePayment::StoredTransaction Perl module uses an insecure MD5 hash of a predictable random number to generate secret keys for encrypting credit card data.
Executive summary
A cryptographic weakness in secret key generation allows attackers to potentially decrypt sensitive credit card transaction data, leading to large-scale financial data exposure.
Vulnerability
The module generates secret keys by taking an MD5 hash of a single call to the built-in rand() function. This function is not cryptographically secure and is highly predictable, making the resulting "secret" keys susceptible to brute-force or prediction attacks.
Business impact
The failure of the encryption mechanism directly impacts the confidentiality of credit card transaction data. This could lead to a massive breach of PCI-DSS compliance, significant financial penalties, and loss of customer trust. The CVSS score of 9.1 underscores the critical risk associated with compromised financial data encryption.
Remediation
Immediate Action: Discontinue the use of Business::OnlinePayment::StoredTransaction version 0.01. Update to a version that utilizes a cryptographically secure random number generator (CSPRNG) for key generation.
Proactive Monitoring: Audit all stored transaction data and consider rotating all encryption keys once a secure version of the module is implemented.
Compensating Controls: Implement database-level encryption and strict access controls to the stored encrypted data to provide a layer of defense-in-depth.
Exploitation status
Public Exploit Available: No
Analyst recommendation
Cryptographic integrity is the foundation of secure online payments. Using predictable keys for credit card data is a critical failure. Organizations must immediately move to a secure, patched version of the module or transition to a more robust payment processing library that adheres to modern security standards.