CVE-2024-8796Network attack vector

Second-factor bypass via shortened TOTP shared secrets

Published Sep 17, 2024 · Updated Sep 20, 2024

Insufficient entropy in Devise-Two-Factor 1.0.0 and 4.0.0 through 5.1.0 allows remote authenticated users to guess TOTP shared secrets. The gem passes its otp_secret_length setting to ROTP::Base32.random_base32 after ROTP changed that argument from random-byte count to encoded-output length, producing only 120 bits by default. An attacker still needs an account password and substantial guessing work, but a recovered secret generates valid TOTP codes and defeats that account's second factor.

CVSS severity6.0
Medium
EPSS probability0.64%
Next 30 days · Sep 16, 2026
Known exploitationUnconfirmed
Based on sourced intelligence
Hinoki checkNot available
Coverage for this vulnerability

See if you're affected

Explore vulnerability checks for your environment with Hinoki.

Book a demo

Summary

What happened

Insufficient entropy in Devise-Two-Factor 1.0.0 and 4.0.0 through 5.1.0 allows remote authenticated users to guess TOTP shared secrets. The gem passes its otp_secret_length setting to ROTP::Base32.random_base32 after ROTP changed that argument from random-byte count to encoded-output length, producing only 120 bits by default. An attacker still needs an account password and substantial guessing work, but a recovered secret generates valid TOTP codes and defeats that account's second factor.

The record

CVE
CVE-2024-8796
Published
Sep 17, 2024
Updated
Sep 20, 2024
Vendor
Devise-Two-Factor
Product
Devise-Two-Factor
Classifications
CWE-331, CAPEC-59, T1110
Attack vector
network
Privileges
authenticated

Timeline

How it unfolded

  1. Sep 17, 2024CVE publishedPublication date reported by the CVE source.
  2. Sep 20, 2024Record updatedLatest update available in the CVE record.

Exploitability

Present is not the same as exploitable

Compare your product and version with the public record. A matching version still requires validation against your environment.

Is a vulnerable build present?

Compare these published version ranges with your installed build and any vendor patches.

  1. Affected versionversion=1.0.0
  2. Affected versionversion=4.0.0 <6.0.0

What conditions does exploitation require?

Attack vectornetwork
Required privilegesauthenticated

What is affected?

Devise-Two-Factor · Devise-Two-Factorversion=1.0.0; version=4.0.0 <6.0.0

Published CVSS scores

5.3SynopsysCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N
6.0SynopsysCVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
5.3Canonical UbuntuCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N
5.3NIST NVDCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N

CVSS describes severity. EPSS estimates exploitation probability.

Attacks

What attackers are doing with it

Daily unique IPs observed by Shadowserver honeypots for known exploited vulnerabilities (KEVs). Missing observations do not establish an absence of attacks.

Daily unique IPsNo honeypot observations are available for this CVE in the selected window.

No observations available

Sep 9, 2026Sep 15, 2026
Latest reporting daySep 15, 2026
Latest daily unique IPsUnavailable
Prior 30-day averageUnavailable
SourceShadowserver honeypots (KEV)
Vectornetwork
Privilegesauthenticated
Known exploitationUnconfirmed
Public exploitUnconfirmed

Weakness, pattern, technique

CWE-331Insufficient Entropy
CAPEC-59Session Credential Falsification through Prediction
T1110Brute Force

Public exploit references

No public exploit references are available in this record.

Labels summarize the accepted research assessment. They do not indicate a test against your environment.

Technologies

Your stack

See the directory against your own environment.

Your stack

Check the software in your environment

Book a demo to see how Hinoki identifies affected software and validates exploitability in your environment.

Book a demo