Read the docs
TI-2026-54667 Aliases CVE-2026-78619GHSA-m82c-83jf-3j4v

Authentication bypass in Punk-TOTP

Priority MEDIUM 50CWE-1025Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Impact type
—
Confidentiality · integrity · availability
High · High · High
Fix status
Fixed

Attack profile from CVSS 3.1 · CISA ADP. Fix status from CNA.

Summary

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.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00621 50th percentileScored 2026-11-07
Fix Fixed Punk-TOTP: 0.05

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
Yes
Technical impact
Total

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
—Punk-TOTPbefore 0.050.05Patch availableCNA
  • Punk-TOTP Vendor— Affected before 0.05 Fixed in 0.05 Patch available CNA

Remediation

  • Fix · CNA Punk-TOTP Fixed in 0.05

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-78619
  2. 2026-10-03 Alias added: GHSA-m82c-83jf-3j4v
  3. 2026-11-07 EPSS moved to the 50th–90th percentile

References

Sources