CVE-2025-40916CWE-338CWE-804

Mojolicious::Plugin::CaptchaPNG version 1.05 for Perl uses a weak random number source for generating the captcha text

Critical · published June 16, 2025

CVSS v3.1
9.1
EPSS
0%
Percentile
35.3
In the wild
Unconfirmed
What it is

🚨 A weak random number source is the Achilles' heel of Mojolicious::Plugin::CaptchaPNG 1.05! An attacker could easily guess captcha values, undermining the very purpose of the captcha. 🔥 Think of it like a hotel using a simple lock that anyone can pick — your guests think they're safe, but a clever thief can waltz right in. The built-in rand() function serves up predictable captcha values, making it a breeze for attackers to bypass security. If an attacker exploits this vulnerability, they could systematically bypass captcha protections, rendering your forms insecure. This means automated bots could flood your services, leading to data theft, spam, or other malicious activities. Without proper security, your users' trust could be absolutely devastated!

Put simply

Think of it like a hotel using a simple lock that anyone can pick — your guests think they're safe, but a clever thief can waltz right in. The built-in rand() function serves up predictable captcha values, making it a breeze for attackers to bypass security. The vulnerability arises from Mojolicious::Plugin::CaptchaPNG relying on Perl's built-in rand() function for generating captcha text and image noise, which does not provide sufficient randomness for preventing attacks.

What to do

If an attacker exploits this vulnerability, they could systematically bypass captcha protections, rendering your forms insecure. This means automated bots could flood your services, leading to data theft, spam, or other malicious activities. Without proper security, your users' trust could be absolutely devastated! Upgrade to a patched version of Mojolicious::Plugin::CaptchaPNG that addresses this issue. Make sure to implement a stronger random number generator for generating captcha content. Regularly review your application dependencies to stay updated and secure. You've got this! Follow these steps, and you'll bolster your security in no time. 🛡️

The record
Technical detail
CVSS v3.1
9.1 · CRITICAL
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
CVSS v4.0
Not supplied
EPSS
0.00420 · 35.3th percentile
Weaknesses
CWE-338 · Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG); CWE-804 · Guessable CAPTCHA
Published
2025-06-16T11:01Z
EPSS history
Timeline
  • 16 JUN 11:01Z
    Mojolicious::Plugin::CaptchaPNG version 1.05 for Perl uses a weak random number source for generating the captcha text
    cvelistv5