CVE-2026-78619
Deferred Deferred - Pending Action

Authentication Bypass in Punk::Plugin::TOTP via Recovery Code

Vulnerability report for CVE-2026-78619, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-08-25

Last updated on: 2026-08-26

Assigner: CPANSec

Description

Punk::Plugin::TOTP versions before 0.05 for Perl accept another account's recovery code at the two-factor challenge because totp_use_recovery compares user identifiers numerically. The helper searches the recovery model for the submitted code's digest alone, across every user's rows, so the ownership test that follows is the only thing binding a code to the account it was issued to. That test compares the row's user_id with the challenged user's id through Perl's integer coercion, and an identifier with no leading digits coerces to zero, so any two of them compare equal. User models keyed on a username, an email address or a UUID hit that case, and a numeric key compares as intended. The challenge route feeds a submitted value to the helper once TOTP verification fails, so an attacker who knows a victim's password and holds a recovery code of their own passes the victim's second factor.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-08-25
Last Modified
2026-08-26
Generated
2026-09-15
AI Q&A
2026-08-26
EPSS Evaluated
2026-09-13
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
punk plugin to 0.05 (exc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-1025 The code performs a comparison between two entities, but the comparison examines the wrong factors or characteristics of the entities, which can lead to incorrect results and resultant weaknesses.
CWE-305 The authentication algorithm is sound, but the implemented mechanism can be bypassed as the result of a separate weakness that is primary to the authentication error.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability affects Punk::Plugin::TOTP versions before 0.05 for Perl. It allows an attacker to bypass two-factor authentication by using another user's recovery code. The issue occurs because the recovery code check does not properly verify ownership of the code, comparing user identifiers numerically which can lead to incorrect matches.

Detection Guidance

This vulnerability affects Punk::Plugin::TOTP versions before 0.05 for Perl, specifically in how recovery codes are validated. Detection involves checking the installed version of the plugin and reviewing authentication logs for unauthorized access attempts using recovery codes.

Impact Analysis

If you use Punk::Plugin::TOTP for two-factor authentication, an attacker who knows your password and has their own recovery code could bypass the second factor and gain unauthorized access to your account. This is especially risky if the account contains sensitive or personal data.

Compliance Impact

This vulnerability allows an attacker with a victim's password and a recovery code to bypass two-factor authentication, potentially gaining unauthorized access to sensitive data. This could lead to violations of data protection regulations like GDPR or HIPAA by exposing personal or health information without proper authentication controls.

Mitigation Strategies

Update Punk::Plugin::TOTP to version 0.05 or later to fix the recovery code validation flaw. Review user accounts for unauthorized access if recovery codes were used by attackers. Disable recovery code functionality temporarily if an update is not immediately available.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-78619. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart