Cyber Resilience

CVE-2019-5420

RCE in Rubyonrails Rails ≤ 5.2.2.1

Published
27 March 2019
Modified
21 November 2024
Patch / advisory
CVSS Score v3.1 9.8
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:H
EPSS Score 0.92 99.8th percentile
Risk Priority 97 floored blend · peak EPSS

Summary

CVE-2019-5420 is a critical-severity Command Injection (CWE-77) vulnerability in Rubyonrails Rails. Its CVSS base score is 9.8 (Critical).

Operationally, ranked in the top 0.2% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

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…

more

remote code execution exploit.

CWE(s)

Related Threats

Likely ATT&CK TechniquesAI

Techniques this vulnerability likely enables, inferred from its description, weakness type, and attributed-actor tradecraft. Confidence is per-technique.

T1190 Exploit Public-Facing Application Initial Accessconfidence: HIGH
The vulnerability is a remote code execution flaw in a public-facing Rails application running in development mode.
T1203 Exploitation for Client Execution Executionconfidence: HIGH
Exploitation of the guessed secret token leads directly to client-side code execution via Rails internals.
T1059 Command and Scripting Interpreter Executionconfidence: MEDIUM
Successful RCE enables arbitrary command/script execution on the target system.
inferred from description + CWE · MITRE ATT&CK Enterprise v19.0

CVEs Like This One

CVE-2020-8163Same product: Debian Debian Linux
CVE-2024-25081Same product: Debian Debian Linux
CVE-2024-25082Same product: Debian Debian Linux
CVE-2019-5418Same product: Debian Debian Linux
CVE-2020-13965Same product: Debian Debian Linux
CVE-2023-4351Same product: Debian Debian Linux
CVE-2023-6510Same product: Debian Debian Linux
CVE-2023-47272Same product: Debian Debian Linux
CVE-2024-26994Same product: Debian Debian Linux
CVE-2023-24805Same product: Debian Debian Linux

Affected Assets

rubyonrails
rails
6.0.0 · ≤ 5.2.2.1
debian
debian linux
8.0
fedoraproject
fedora
30

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

Detect
Catch it (NIST detect / respond)

Harden
Shrink the surface (DISA STIG)
  • 8 hardening rules · 4 OS baselines
Validate
Prove the fix (OWASP ASVS)
  • V1.2.3
  • V1.2.5
  • V1.2.8
  • V1.2.9

Likely Mitigating Controls AI

Per-CVE control mapping for this CVE has not run yet; the list below is derived from the weakness types (CWEs) cited in the NVD entry.

addresses: CWE-330

Key generation under controlled management uses approved random-bit sources rather than insufficiently random values.

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.

PR.PS-06 mostly match
prevents

Secure SDLC practices directly require input validation and neutralization that prevent command injection.

DE.CM-09 partial match
prevents

Runtime monitoring of software and data can detect anomalous command execution resulting from injection.

ID.RA-01 partial match
prevents

Identifying recorded vulnerabilities enables remediation of command-injection flaws before exploitation.

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

Cryptographic controls require use of approved, sufficiently random values for keys and nonces.

prevents

Secure coding standards require proper escaping and parameterization of commands, directly eliminating CWE-77.

detects

Security testing in development catches command-injection vulnerabilities before release.

prevents

Secure development life cycle mandates input validation and command construction practices that directly prevent command injection.

prevents

Application security requirements explicitly call for controls against injection flaws including command injection.

prevents

Secure architecture principles reduce the attack surface but do not prescribe the specific neutralization techniques needed.

References