Skip to main content

Catalyst::Plugin::Authentication CVE-2026-5091

| EUVDEUVD-2026-31353 MEDIUM
Observable Timing Discrepancy (CWE-208)
2026-05-21 CPANSec GHSA-37jv-v9vv-wxwv
5.1
CVSS 3.1 · Vendor: CPANSec
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Identify Catalyst app using Password credential
  2. Delivery
    Locate unauthenticated login endpoint
  3. Exploit
    Submit high-volume requests with candidate credentials
  4. Execution
    Measure differential HTTP response timing per character position
  5. Persist
    Statistically reconstruct stored hash or plaintext
  6. Impact
    Authenticate with recovered credential

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V6 - Authentication Timing attack prevention
Exploitation Conditions

The attacker must be able to submit a large volume of authentication requests - typically hundreds to thousands per character position - to the Catalyst application's login endpoint and measure response times with sub-millisecond precision. The application must be using Catalyst::Plugin::Authentication with the Password credential type in any supported mode (plaintext, crypt, MD5 hex, or MD5 Base64). No prior authentication is required to reach the login endpoint. Exploitation is severely limited by: (1) network jitter and server processing variance, which obscure the timing signal in most production environments; (2) server-side load variability from concurrent requests; (3) the non-automatable nature confirmed by SSVC, requiring targeted manual orchestration rather than commodity tooling. The AV:L classification in the provided CVSS vector suggests the vendor considers reliable exploitation to require local or co-located access for timing precision.

Impact

The provided CVSS 3.1 vector (AV:L/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N, score 5.1) classifies this as a local attack, which is conservative for a web authentication module - timing attacks against HTTP endpoints are typically network-reachable. AC:H accurately captures the statistical difficulty: an attacker needs hundreds to thousands of requests per character position and sub-millisecond timing resolution. EPSS at 0.01% (2nd percentile) and SSVC exploitation status of none confirm no observed exploitation activity. Technical impact is partial per SSVC, consistent with confidentiality-only CVSS impact (C:H/I:N/A:N). The non-automatable SSVC designation reflects the high measurement complexity. Real-world risk is low: production server load variance, network jitter, and the volume of requests required make exploitation operationally difficult outside co-located or low-latency network environments. This is a genuine cryptographic hygiene issue but not an emergency remediation priority given the evidence profile.

Exploit ScenarioDerived

An attacker submits thousands of login attempts to a Catalyst application, systematically varying candidate password strings one character at a time and precisely measuring HTTP response latencies for each. By aggregating timing distributions per character position against the eq comparison in Catalyst::Authentication::Credential::Password, the attacker statistically identifies which characters produce longer comparison times (more matching leading bytes), progressively reconstructing the stored password hash or plaintext. No public exploit code has been identified at time of analysis; successful exploitation requires co-location or a low-jitter network path and is not automatable at scale.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 23, 2026

Timing attack exposure in Catalyst::Plugin::Authentication (all versions through 0.10024) allows side-channel inference of stored passwords or password hashes through non-constant-time string comparison. The Perl built-in eq operator short-circuits on first character mismatch, leaking measurable timing differences that an attacker can exploit statistically across many authentication attempts to progressively recover credential material. No public exploit has been identified at time of analysis and SSVC exploitation status is confirmed as none, though the cryptographic weakness is real and patch availability is confirmed upstream.

RemediationAI

Upgrade to Catalyst::Plugin::Authentication 0.10_025 or the next stable release via CPAN (cpanm Catalyst::Plugin::Authentication or via your preferred CPAN client). The patching commit is available at https://github.com/perl-catalyst/Catalyst-Plugin-Authentication/commit/b0515f492257438cf07082acf1e10d06e8088a5e.patch and can be applied manually if the stable release is not yet available. Note that 0.10_025 carries an underscore version number indicating a CPAN trial/development release - verify production readiness before deploying. If upgrading is not immediately feasible, implement aggressive rate limiting and authentication throttling at the application or reverse-proxy layer (e.g., via Plack middleware or a WAF rule) to limit the number of timing samples an attacker can collect per IP per time window. Throttling does not eliminate the vulnerability but raises the attack cost substantially by increasing the time required for statistical recovery. Consider supplementing with TOTP or other second-factor authentication to render recovered password hashes insufficient for login.

Affected VersionsENISA

Catalyst::Plugin::Authentication 0 ≤0.10024

Affected Packages

euvd catalyst_plugin_authentication no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Catalyst::Plugin::Authentication (CPE: cpe:2.3:a:jjnapiork:catalyst::plugin::authentication) is a CPAN module providing pluggable authentication for the Catalyst MVC web framework in Perl. The root cause is CWE-208 (Observable Timing Discrepancy): Perl's eq operator performs lexicographic comparison and exits early on the first differing byte, causing comparison time to vary based on how many leading characters match. The affected module lib/Catalyst/Authentication/Credential/Password.pm used eq across all supported credential modes - plaintext, crypt-based, and hashed (MD5 in hex and Base64). The upstream fix replaces all eq calls with a _secure_compare() function adapted from Mojo::Util 9.45, which XORs all character pairs unconditionally and accumulates a result integer, ensuring constant-time execution regardless of input content.

Know when Catalyst gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (CPANSec) PRIMARY 5.1 MEDIUM
AV:L/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
vuln.today AI 5.9 MEDIUM

Catalyst is a web framework; attackers reach the login endpoint over the network (AV:N), not local access; AC:H reflects statistical timing measurement difficulty.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (CPANSec).

CVSS VectorVendor: CPANSec

Attack Vector
Local
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

Lifecycle Timeline

2
CVSS changed
Jul 23, 2026 - 16:22 NVD
5.1 (None) 5.1 (MEDIUM)
CVE Published
May 21, 2026 - 21:07 nvd
UNKNOWN (no severity yet)

DescriptionCVE.org

Catalyst::Plugin::Authentication versions through 0.10024 for Perl is susceptible to timing attacks.

These versions use Perl's built-in eq comparison. Discrepencies in timing could be used to guess the underlying hash or password.

Threat Intelligence Overview

EPSS Score
0.0%
Top 98% exploitable
Prevalence
Low
Perl-specific web framework plugin, niche but active production footprint
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation
None
System Exposure· derived
Small
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy