CVE-2019-16109
Authentication Bypass in Devise
An issue was discovered in Plataformatec Devise before 4.7.1. It confirms accounts upon receiving a request with a blank confirmation_token, if a database record has a blank value in the confirmation_token column. (However, there is no scenario within Devise itself in which such database records would exist.)
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
- Low
- Integrity
- None
- Availability
- None
Exploit likelihood
What each source reports
NVD Score used
5.3
An issue was discovered in Plataformatec Devise before 4.7.1. It confirms accounts upon receiving a request with a blank confirmation_token, if a database record has a blank value in the confirmation_token column. (However, there is no scenario within Devise itself in which such database records would exist.)
- Record
CVE-2019-16109- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N - CVSS 2.0
- 5.0 Medium
AV:N/AC:L/Au:N/C:P/I:N/A:N - Updated
- 2026-11-02
CVE List No score
An issue was discovered in Plataformatec Devise before 4.7.1. It confirms accounts upon receiving a request with a blank confirmation_token, if a database record has a blank value in the confirmation_token column. (However, there is no scenario within Devise itself in which such database records would exist.)
- Record
CVE-2019-16109- Updated
- 2026-11-02
EUVDEUVD-2019-0664 No score
An issue was discovered in Plataformatec Devise before 4.7.1. It confirms accounts upon receiving a request with a blank confirmation_token, if a database record has a blank value in the confirmation_token column. (However, there is no scenario within Devise itself in which such database records would exist.)
- Record
EUVD-2019-0664- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-fcjw-8rhj-gwwc
5.3
Authentication Bypass in Devise
An issue was discovered in Plataformatec Devise before 4.7.1. It confirms accounts upon receiving a request with a blank confirmation_token, if a database record has a blank value in the confirmation_token column. (However, there is no scenario within Devise itself in which such database records would exist.)
- Record
GHSA-fcjw-8rhj-gwwc- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N - Weakness
- CWE-284
- Updated
- 2026-11-02
OSV
5.3
An issue was discovered in Plataformatec Devise before 4.7.1. It confirms accounts upon receiving a request with a blank confirmation_token, if a database record has a blank value in the confirmation_token column. (However, there is no scenario within Devise itself in which such database records would exist.)
- Record
CVE-2019-16109- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N - Updated
- 2026-11-02
OSVGHSA-fcjw-8rhj-gwwc
5.3
Authentication Bypass in Devise
An issue was discovered in Plataformatec Devise before 4.7.1. It confirms accounts upon receiving a request with a blank confirmation_token, if a database record has a blank value in the confirmation_token column. (However, there is no scenario within Devise itself in which such database records would exist.)
- Record
GHSA-fcjw-8rhj-gwwc- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N - Weakness
- CWE-284
- Updated
- 2026-11-02
OSVUBUNTU-CVE-2019-16109
5.3
An issue was discovered in Plataformatec Devise before 4.7.1. It confirms accounts upon receiving a request with a blank confirmation_token, if a database record has a blank value in the confirmation_token column. (However, there is no scenario within Devise itself in which such database records would exist.)
- Record
UBUNTU-CVE-2019-16109- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N - Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
deviseRubyGems |
before 4.7.1 | 4.7.1 |
deviseRubyGems |
before 4.7.1, plus listed versions 0.1.00.1.10.2.00.2.10.2.2 Show 45 moreShow less0.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.7.1 |
ruby-deviseUbuntu:16.04:LTS |
All versions, plus listed versions 3.5.1-13.5.2-13.5.2-23.5.2-33.5.6-2 |
None known |
ruby-deviseUbuntu:18.04:LTS |
All versions, plus listed versions 4.2.0-14.3.0-14.4.3-1 |
None known |
ruby-deviseUbuntu:20.04:LTS |
All versions, plus listed versions 4.5.0-34.6.2-24.7.1-2 |
None known |
ruby-deviseUbuntu:22.04:LTS |
All versions, plus listed versions 4.7.3-2 |
None known |
ruby-deviseUbuntu:24.04:LTS |
All versions, plus listed versions 4.8.1-14.9.2-14.9.3-1 |
None known |
History
| Recorded | Changed | Sources |
|---|---|---|
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2019-16109 is a medium vulnerability (CVSS 5.3) in Plataformatec Devise, published September 8, 2019. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.83%, the 79th percentile. Fixed in devise 4.7.1.
References
github.com/plataformatec/devise/pull/5132
github.com/plataformatec/devise/issues/5071
github.com/plataformatec/devise/compare/v4.7.0...v4.7.1
nvd.nist.gov/vuln/detail/CVE-2019-16109
github.com/rubysec/ruby-advisory-db/blob/master/gems/devise/CVE-2019-16109.yml
github.com/advisories/GHSA-fcjw-8rhj-gwwc
github.com/plataformatec/devise
ubuntu.com/security/CVE-2019-16109
cve.org/CVERecord?id=CVE-2019-16109
Left out here: 107 versions. The JSON record has them.