Cyber Resilience

CVE-2026-78655

Published
25 August 2026
Modified
26 August 2026
CVSS Score v3.1 9.1
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
EPSS Score 0.0050 41th percentile
Risk Priority 67 floored blend · peak EPSS

CVSS and EPSS are reproduced from their sources (NVD, FIRST EPSS). Risk Priority is our own derived reading, not an NVD score.

Summary

CVE-2026-78655 is a critical-severity Improper Restriction of Excessive Authentication Attempts (CWE-307) vulnerability. Its CVSS base score is 9.1 (Critical).

Operationally, exploitation aligns with the MITRE ATT&CK technique Password Guessing (T1110.001); ranked at the 41th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.

The strongest mitigations our analysis identified map to AC-3 (Access Enforcement) and AC-6 (Least Privilege) — see the control section below for these in your framework.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

Punk::Plugin::TOTP versions before 0.05 for Perl allow the second-factor attempt limit to be reset by replaying an earlier session cookie because the challenge route counts failures in the session. The POST handler on challenge_path keeps the failure count as tries…

more

inside the totp_pending record in the session, raising it on each rejected code and deleting the pending record once it reaches attempts, five by default. Punk::Session carries the session in a signed cookie unless the application declares a store, and keeps no server-side record, so an earlier value of the same session stays valid until the expiry stamped inside it. A client that saves the cookie before its failed attempts and presents it again gets the pending record back with its counter, and the limit never fires. The replayed record is accepted while its own expiry, pending_ttl seconds from the challenge and 300 by default, has not passed. Sessions declared with a store are not affected: the pending record and its counter then live server-side. The attempt limit does not bound guessing of the second factor, which is left to the per-address rate limit the plugin registers on the same path, 30 requests per 60 seconds.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1110.001 Password Guessing Credential Access
Adversaries with no prior knowledge of legitimate credentials within the system or environment may guess passwords to attempt access to accounts.
T1110.003 Password Spraying Credential Access
Adversaries may use a single or small list of commonly used passwords against many different accounts to attempt to acquire valid account credentials.
T1110.004 Credential Stuffing Credential Access
Adversaries may use credentials obtained from breach dumps of unrelated accounts to gain access to target accounts through credential overlap.
T1134 Access Token Manipulation Stealth
Adversaries may modify access tokens to operate under a different user or system security context to perform actions and bypass access controls.
T1528 Steal Application Access Token Credential Access
Adversaries can steal application access tokens as a means of acquiring credentials to access remote systems and resources.
T1539 Steal Web Session Cookie Credential Access
An adversary may steal web application or service session cookies and use them to gain access to web applications or Internet services as an authenticated user without needing credentials.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2025-49090Shared CWE-642
CVE-2024-22387Shared CWE-642
CVE-2024-58265Shared CWE-642
CVE-2025-26787Shared CWE-642
CVE-2024-8754Shared CWE-642
CVE-2025-54566Shared CWE-642
CVE-2025-36064Shared CWE-307
CVE-2025-2413Shared CWE-307
CVE-2025-12896Shared CWE-307
CVE-2025-27449Shared CWE-307

Affected Assets

—
TOTP
inferred from references and description; NVD did not file a CPE for this CVE

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

—

Detect
Catch it (NIST detect / respond)

—

Harden
Shrink the surface (DISA STIG)
  • 6 hardening rules · 3 OS baselines
Validate
Prove the fix (OWASP ASVS)
  • V8.4.2

Mitigating Controls (NIST 800-53 r5) AI

Enforces access authorizations on the stored critical state data so unauthorized actors cannot read or modify it.

AC-7 directly enforces limits on consecutive failed logons, structurally blocking brute-force exploitation of the weakness.

Limits which subjects may access the location holding security-critical state, reducing the set of actors that can tamper with it.

Requires cryptographic or other protection of information at rest, directly blocking unauthorized external access to critical state.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

DE.CM-03 partial match
prevents

Behavioral monitoring of authentication activity can detect excessive failed attempts after they occur.

PR.AA-03 partial match
prevents

Authentication enforcement directly includes lockout, throttling, and MFA policies that prevent brute-force attempts.

PR.AA-05 partial match
prevents

Enforcing least-privilege access permissions directly prevents unauthorized actors from reaching critical state data.

PR.DS-01 partial match
prevents

Protecting integrity of data-at-rest stops external tampering with stored security-critical state.

PR.IR-01 partial match
prevents

Network-level controls reduce the attack surface that would otherwise allow external modification of state.

PR.PS-04 partial match
prevents

Generating auth logs enables later detection or forensics but does not itself restrict attempts.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

prevents

Access control policies directly limit who can read or modify security-critical state data.

prevents

Managing access rights prevents unauthorized actors from altering critical state stored externally.

prevents

Restricting privileged access rights reduces the chance that state data can be tampered with by unauthorized users.

prevents

Secure development practices can avoid placing critical state in externally writable locations.

prevents

Application security requirements can mandate that critical state not be stored in untrusted locations.

prevents

Secure architecture principles discourage external control of security-critical state.

Hardening callouts derived

Configuration rules from DISA STIG baselines that bear on weaknesses of the type cited by this CVE. Each rule is shown with the relationship its mapping actually records, against the CWE it was authored against. Derived via CVE→CWE over `controls_xwalks` (higher-evidence rows only; rows rated `none` are excluded).

Oracle Linux 8 (1 rule)
  • V-248525 All OL 8 local disk partitions must implement cryptographic mechanisms to prevent unauthorized disclosure or modification of all information that requires at-rest protection. prevents CWE-642
Oracle Linux 9 (2 rules)
  • V-271811 OL 9 /etc/passwd- file must have mode 0644 or less permissive to prevent unauthorized access. prevents CWE-642
  • V-271756 OL 9 local disk partitions must implement cryptographic mechanisms to prevent unauthorized disclosure or modification of all information that requires at rest protection. prevents CWE-642
RHEL 7 (3 rules)
  • V-204427 The Red Hat Enterprise Linux operating system must be configured to lock accounts for a minimum of 15 minutes after three unsuccessful logon attempts within a 15-minute timeframe. prevents CWE-307
  • V-204428 The Red Hat Enterprise Linux operating system must lock the associated account after three unsuccessful root logon attempts are made within a 15-minute period. prevents CWE-307
  • V-204627 SNMP community strings on the Red Hat Enterprise Linux operating system must be changed from the default. prevents CWE-642

References