CVE-2026-2474

7.5

DDICK · Crypt::URandom

Crypt::URandom for Perl is vulnerable to a heap buffer overflow in the crypt_urandom_getrandom function due to improper validation of the length parameter, potentially leading to a denial of service.

Executive summary

A heap buffer overflow vulnerability in the Perl Crypt::URandom library, specifically in versions 0.41 through 0.54, allows for potential application crashes and denial of service.

Vulnerability

This is a heap-based buffer overflow (CWE-122) triggered by an integer wraparound when a negative length parameter is supplied to the crypt_urandom_getrandom function. The vulnerability is exploitable by unauthenticated attackers, provided the application passes untrusted input to the affected length parameter.

Business impact

Successful exploitation of this vulnerability results in heap memory corruption, which typically causes the affected application to crash. Given a CVSS score of 7.5, this high-severity flaw poses a significant risk to service availability for any system relying on this library for random number generation. If the application handles critical processes, an unexpected crash could lead to service disruption and operational downtime.

Remediation

Immediate Action: Update the Crypt::URandom package to version 0.55 or later to incorporate the necessary validation checks.

Proactive Monitoring: Monitor application logs and system error reports for unexpected crashes or memory-related exceptions associated with the Crypt::URandom module.

Compensating Controls: Ensure that any application utilizing this library implements strict input validation for size or length parameters to prevent negative values from reaching the underlying XS function.

Exploitation status

Public Exploit Available: No (exploit_available: false)

Analyst recommendation

The vulnerability represents a clear risk to application stability due to the potential for heap memory corruption. Administrators and developers should prioritize auditing their codebases to determine if user-supplied input influences the length argument in calls to crypt_urandom_getrandom. Updating to version 0.55 remains the primary and most effective method to mitigate this risk.

Sources