CVE-2019-5420
A public proof of concept exists; no exploitation attested.
- Published2019-03-27
- Fixed in5.2.2.1
- WeaknessCWE-330 · CWE-77
Am I affected?
Debian, Ubuntu or Red Hat sometimes backport a fix without changing the upstream version number: such a version reads « to verify », never « affected ».With a domain, we read the version its public headers and pages expose. A distribution build can carry the fix under an older number.
Description
A remote code execution vulnerability in development mode Rails <5.2.2.1, <6.0.0.beta3 can allow an attacker to guess the automatically generated development mode secret token. This secret token can be used in combination with other Rails internals to escalate to a remote code execution exploit.
Timeline
dates in UTC- 2019-03-2714:29CVE publishedNVD
- 2019-05-02Exploit-DB entryExploit-DB
Observed activity
isMalicious corpus · updated 2026-11-04 09:37 UTCBlock these indicators
- Firewall list (EDL, text): https://api.ismalicious.com/edl/cve/CVE-2019-5420?format=txt
- CSV export: https://api.ismalicious.com/edl/cve/CVE-2019-5420?format=csv
- TAXII collection of exploited CVEs
- The EDL and CSV take an API key on the Pro plan.
Versions per branch
NVD · OSV| Branch | Affected | Fixed in | Source |
|---|---|---|---|
| 5.2 | < 5.2.2.1 | 5.2.2.1 | NVD |
| 5.2 | ≥ 5.2.0, < 5.2.2.1 | 5.2.2.1 | OSV |
| 6.0 | = 6.0.0 | no fix published | NVD |
| Branch | Affected | Fixed in | Source |
|---|---|---|---|
| 8.0 | = 8.0 | no fix published | NVD |
| Branch | Affected | Fixed in | Source |
|---|---|---|---|
| 30.x | = 30 | no fix published | NVD |
as publishedRanges as NVD and OSV publish them; a distribution’s build can be fixed under an older number.
Distribution builds and vendor advisories
Packages from OSV.dev and products from the vendors' CSAF advisories.
version not verifiedVersions not verified: read as OSV.dev and the vendors publish them, not checked against each vendor's release list.
Packages
- railsDebian:14all versions · fixed in 2:5.2.2.1+dfsg-1
- railsDebian:13all versions · fixed in 2:5.2.2.1+dfsg-1
- railsDebian:12all versions · fixed in 2:5.2.2.1+dfsg-1
- rmt-serverSUSE:Linux Enterprise Server for SAP Applications 15all versions · fixed in 2.6.5-3.34.1
- rmt-serverSUSE:Linux Enterprise Server 15-LTSSall versions · fixed in 2.6.5-3.34.1
- rmt-serverSUSE:Linux Enterprise Module for Server Applications 15 SP2all versions · fixed in 2.6.5-3.3.1
- rmt-serverSUSE:Linux Enterprise Module for Server Applications 15 SP1all versions · fixed in 2.6.5-3.18.1
- rmt-serverSUSE:Linux Enterprise Module for Public Cloud 15 SP2all versions · fixed in 2.6.5-3.3.1
6 more package ranges on OSV.dev
Vendor advisories
- CVE-2019-5420 Red Hat Product Security
rubygem-rails: Weak secret token leading to possible code execution
Fix
- Update Ruby on Rails to 5.2.2.1
Advisories and patches
- weblog.rubyonrails.orgPatch · Vendor Advisory
Detection
read 2026-11-03 22:42 UTC- Nuclei template
- none so far ProjectDiscovery
- Proof-of-concept repositories
- 12 repositories, unverifiedknqyf263/CVE-2019-5420cved-sources/cve-2019-5420AnasTaoutaou/CVE-2019-5420Eremiel/CVE-2019-5420scumdestroy/CVE-2019-5420.rb PoC-in-GitHub
- Metasploit modules
- 1 moduleexploit/multi/http/rails_double_taprank: excellentModule metadata: Metasploit Framework, © Rapid7, Inc., BSD-3-Clause. Metasploit Framework
Sources
- NVDCVSS 3.19.8read 2026-10-23
- NVDCVSS 2.07.5read 2026-10-23
- CNAweakness (CWE)CWE-77known since 2026-10-23
- NVDweakness (CWE)CWE-330read 2026-10-23
- FIRST EPSSEPSS score89.3 %read 2026-11-03
- PoC-in-GitHubproof of concept12read 2026-11-03
- Exploit-DBdetectionread 2026-11-03
- Metasploit FrameworkMetasploit modules1known since 2026-11-01
- OSVaffected packages—
- GitHub AdvisoriesadvisoryCRITICAL2020-06-16
Identifiers
- EUVD-2019-0385same flawENISA EUVD · LicenseRef-ENISA-legal-notice
- GHSA-m42h-mh85-4qgcsame flawGitHub Advisory Database · CC-BY-4.0
- exploit/multi/http/rails_double_tapexploit moduleMetasploit Framework © Rapid7 · BSD-3-Clause
- openSUSE-SU-2020:1993-1advisory covering several CVEsopenSUSE · LicenseRef-unstated
- openSUSE-SU-2020:2000-1advisory covering several CVEsopenSUSE · LicenseRef-unstated
- openSUSE-SU-2024:10589-1advisory covering several CVEsopenSUSE · LicenseRef-unstated
- SUSE-SU-2020:3036-1advisory covering several CVEsSUSE · LicenseRef-unstated
- SUSE-SU-2020:3147-1advisory covering several CVEsSUSE · LicenseRef-unstated
- SUSE-SU-2020:3160-1advisory covering several CVEsSUSE · LicenseRef-unstated
Technical details
- CVSS v3 Vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Published
- 2019-03-27
- Last Modified
- 2026-06-17
- NVD status
- Modified
- GitHub Advisory
- GHSA-m42h-mh85-4qgc
Frequently asked questions
What is CVE-2019-5420?
Is CVE-2019-5420 actively exploited?
What is the CVSS score for CVE-2019-5420?
Running rubygem-rails? Hear about its next vulnerability
Surveillance reads the versions in your stack — a domain, a lockfile or a list — checks each CVE against the ranges its sources publish, and alerts you when one you run is exploited or enters CISA KEV. A version it cannot read stays « version not verified ».
No credit card required · No monthly cap on website lookups · 250 API requests/month
Go further
- Following what attackers exploit right now? The CISA KEV additions of the month, with their patch deadlines.
- Running this software? Vulnerability monitoring alerts you to new vulnerabilities in your products.
Related vulnerabilities
Same product first, then the same vendor advisory and the same publication week.
Sources for this record
- CVE Program · CVE Program Terms of Use
- ENISA EU Vulnerability Database · ENISA legal notice §1.2 (reproduction authorised, provided the source is acknowledged)
- Exploit-DB · Exploit-DB terms of service · terms restrict redistribution
- FIRST EPSS · EPSS terms of use (free use, attribution requested)
- GitHub Advisory Database · CC-BY-4.0 · GHSA-m42h-mh85-4qgc
- Metasploit Framework · BSD-3-Clause
- NVD · Public domain (17 U.S.C. § 105) for NVD-authored data; third-party content under its own terms
- OSV.dev · Per record, as its publisher states it: each row carries the label in sourceLicense when one is served
- PoC-in-GitHub · CC0-1.0
- Red Hat Product Security (CSAF and VEX) · CC-BY-4.0