Every CVE Search/ Get API key

CVE-2019-5421

devise Time-of-check Time-of-use Race Condition vulnerability

9.8 CriticalFix available

Plataformatec Devise version 4.5.0 and earlier, using the lockable module contains a CWE-367 vulnerability in The Devise::Models::Lockable class, more specifically at the #increment_failed_attempts method. File location: lib/devise/models/lockable.rb that can result in Multiple concurrent requests can prevent an attacker from being blocked on brute force attacks. This attack appear to be exploitable via Network connectivity - brute force attacks. This vulnerability appears to have been fixed in 4.6.0 and later.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
High
Integrity
High
Availability
High

Exploit likelihood

1.56%Up 0.9 points since Apr 14, 2021
90%50%10%1%

What each source reports

NVD Score used 9.8

Plataformatec Devise version 4.5.0 and earlier, using the lockable module contains a CWE-367 vulnerability in The Devise::Models::Lockable class, more specifically at the #increment_failed_attempts method. File location: lib/devise/models/lockable.rb that can result in Multiple concurrent requests can prevent an attacker from being blocked on brute force attacks. This attack appear to be exploitable via Network connectivity - brute force attacks. This vulnerability appears to have been fixed in 4.6.0 and later.

Record
CVE-2019-5421
CVSS 3.1
9.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS 2.0
7.5 HighAV:N/AC:L/Au:N/C:P/I:P/A:P
Weakness
CWE-367, CWE-307
Updated
2026-11-02
CVE List No score

Plataformatec Devise version 4.5.0 and earlier, using the lockable module contains a CWE-367 vulnerability in The Devise::Models::Lockable class, more specifically at the #increment_failed_attempts method. File location: lib/devise/models/lockable.rb that can result in Multiple concurrent requests can prevent an attacker from being blocked on brute force attacks. This attack appear to be exploitable via Network connectivity - brute force attacks. This vulnerability appears to have been fixed in 4.6.0 and later.

Record
CVE-2019-5421
Weakness
CWE-367
Updated
2026-11-02
EUVDEUVD-2019-0372 No score

Plataformatec Devise version 4.5.0 and earlier, using the lockable module contains a CWE-367 vulnerability in The Devise::Models::Lockable class, more specifically at the #increment_failed_attempts method. File location: lib/devise/models/lockable.rb that can result in Multiple concurrent requests can prevent an attacker from being blocked on brute force attacks. This attack appear to be exploitable via Network connectivity - brute force attacks. This vulnerability appears to have been fixed in 4.6.0 and later.

Record
EUVD-2019-0372
Updated
2026-11-03
GitHub AdvisoriesGHSA-73rf-6mrf-759q No score

devise Time-of-check Time-of-use Race Condition vulnerability

Devise ruby gem before 4.6.0 when the lockable module is used is vulnerable to a time-of-check time-of-use (TOCTOU) race condition due to increment_failed_attempts within the Devise::Models::Lockable class not being concurrency safe.

Record
GHSA-73rf-6mrf-759q
Weakness
CWE-367
Updated
2026-11-02
OSV 9.8

Plataformatec Devise version 4.5.0 and earlier, using the lockable module contains a CWE-367 vulnerability in The Devise::Models::Lockable class, more specifically at the #increment_failed_attempts method. File location: lib/devise/models/lockable.rb that can result in Multiple concurrent requests can prevent an attacker from being blocked on brute force attacks. This attack appear to be exploitable via Network connectivity - brute force attacks. This vulnerability appears to have been fixed in 4.6.0 and later.

Record
CVE-2019-5421
CVSS 3.1
9.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVDEBIAN-CVE-2019-5421 9.8

Plataformatec Devise version 4.5.0 and earlier, using the lockable module contains a CWE-367 vulnerability in The Devise::Models::Lockable class, more specifically at the #increment_failed_attempts method. File location: lib/devise/models/lockable.rb that can result in Multiple concurrent requests can prevent an attacker from being blocked on brute force attacks. This attack appear to be exploitable via Network connectivity - brute force attacks. This vulnerability appears to have been fixed in 4.6.0 and later.

Record
DEBIAN-CVE-2019-5421
CVSS 3.1
9.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVUBUNTU-CVE-2019-5421 9.8

Plataformatec Devise version 4.5.0 and earlier, using the lockable module contains a CWE-367 vulnerability in The Devise::Models::Lockable class, more specifically at the #increment_failed_attempts method. File location: lib/devise/models/lockable.rb that can result in Multiple concurrent requests can prevent an attacker from being blocked on brute force attacks. This attack appear to be exploitable via Network connectivity - brute force attacks. This vulnerability appears to have been fixed in 4.6.0 and later.

Record
UBUNTU-CVE-2019-5421
CVSS 3.1
9.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVGHSA-73rf-6mrf-759q No score

devise Time-of-check Time-of-use Race Condition vulnerability

Devise ruby gem before 4.6.0 when the lockable module is used is vulnerable to a time-of-check time-of-use (TOCTOU) race condition due to increment_failed_attempts within the Devise::Models::Lockable class not being concurrency safe.

Record
GHSA-73rf-6mrf-759q
Weakness
CWE-367
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
devise
RubyGems
before 4.6.0
4.6.0
ruby-devise
Debian:12
before 4.5.0-3
4.5.0-3
devise
RubyGems
before 4.6.0, plus listed versions
0.1.00.1.10.2.00.2.10.2.2
Show 45 moreShow less
0.2.30.3.00.4.00.4.10.4.20.4.30.5.00.5.10.5.20.5.30.5.40.5.50.5.60.6.00.6.10.6.20.6.30.7.00.7.10.7.20.7.30.7.40.7.50.8.00.8.10.8.20.9.00.9.10.9.21.0.01.0.11.0.101.0.111.0.21.0.31.0.41.0.51.0.61.0.71.0.81.0.91.1.01.1.11.1.21.1.3
4.6.0
gitlab
Ubuntu:16.04:LTS
All versions, plus listed versions
8.4.3+dfsg-98.4.3+dfsg-128.5.8+dfsg-5
None known
ruby-devise
Ubuntu:18.04:LTS
All versions, plus listed versions
4.2.0-14.3.0-14.4.3-1
None known
ruby-devise
Ubuntu:20.04:LTS
before 4.5.0-3
4.5.0-3

History

History
RecordedChangedSources
aliasesEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2019-5421 is a critical vulnerability (CVSS 9.8) in Plataformatec Devise, published March 19, 2019. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.56%, the 75th percentile. Fixed in devise 4.6.0.

References

This page doesn't list everything

Left out here: 103 versions. The JSON record has them.

MoveEnter Open