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.