← Vulnerability feed

Vulnerability record · CVE-2020-8163 · published 2 July 2020

CVE-2020-8163: Ruby on Rails render locals code injection enables RCE

Rubyonrails · Rails

Rails versions prior to 5.0.1 allow code injection when an attacker controls the `locals` argument passed to a `render` call, leading to remote code execution. The flaw is a CWE-94 code injection issue in a widely used web framework, so any application that passes untrusted input into render locals is exposed.

8.8 CVSS 3.1 High EPSS 82% · top 0.4% CWE-94 · Code injection
8.8CVSS 3.1 base score, v2 6.5
82%EPSS exploitation probability, 30 days
NoNot in CISA KEV
2Affected product versions listed by NVD
8References, 2 tagged exploit
17 Jun 2026Last modified by NVD

Description

The is a code injection vulnerability in versions of Rails prior to 5.0.1 that wouldallow an attacker who controlled the `locals` argument of a `render` call to perform a RCE.

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Automated analysis

Generated by VULONE's analysis model from the NVD record, CISA KEV and EPSS data on 18 September 2026. Confidence: high.

high priorityCVSS 8.8 and very high EPSS with public exploit references make this a serious RCE risk, though it requires low privileges and a specific vulnerable code pattern.

What it is

Rails versions prior to 5.0.1 allow code injection when an attacker controls the `locals` argument passed to a `render` call, leading to remote code execution. The flaw is a CWE-94 code injection issue in a widely used web framework, so any application that passes untrusted input into render locals is exposed.

Impact

An attacker who can influence the `locals` argument can execute arbitrary code on the server, gaining full control of the Rails application and its host.

Attack surface

The vulnerability is network-reachable (AV:N) with low attack complexity and no user interaction, but it requires low privileges (PR:L), meaning the attacker must already be able to influence the render locals value, typically through an authenticated or otherwise privileged code path.

Exploitation

CISA KEV does not list this CVE, but EPSS is very high at 0.82047 (99.6th percentile) and public exploit references exist, indicating significant real-world exploitation likelihood.

What to do

  • Upgrade Rails to 5.0.1 or later, or apply the vendor patch referenced in the Rails security mailing list
  • Audit application code for render calls that pass user-controlled data into the `locals` argument and sanitize or reject such input
  • Apply the Debian LTS update if running the packaged Rails on Debian
  • Restrict privileges and access to code paths that can influence render locals
  • Monitor for unexpected outbound connections or process execution from Rails application servers

Detection

  • Search application logs and code for render calls where locals values originate from request parameters or other untrusted sources
  • Monitor Rails application servers for anomalous child processes or shell commands spawned by the web server user
  • Use WAF or request inspection rules to flag requests containing Ruby code patterns in parameters that may reach render locals
  • Review HackerOne report 304805 and Packet Storm advisory for exploit payload patterns to build detection signatures

This assessment is produced automatically and is not human-reviewed. Verify against the vendor advisory before acting on it.

Affected products

2 vulnerable configurations from NVD's CPE data, grouped by vendor and product.

References

Track CVE-2020-8163 inside VULONE

Watch it alongside the ransomware crews, C2 infrastructure and forum chatter that reference it, query it through the API and pull it into your SIEM over TAXII.

Start free Open in platform

Related vulnerabilities

Same products first, then exploited flaws of the same weakness class.

10.0CVE-2025-32433Erlang/OTP SSH server missing authentication allows remote code executionErlang/OTP SSH servers before OTP-27.3.3, OTP-26.2.5.11 and OTP-25.3.2.20 mishandle SSH protocol messages, letting an unauthenticated attacker execut…KEVEPSS 99%analysed10.0CVE-2025-24201Apple WebKit out-of-bounds write allows sandbox escapeCVE-2025-24201 is an out-of-bounds write in Apple's WebKit that was addressed with improved checks. Maliciously crafted web content may break out of …KEVEPSS 3.8%analysed10.0CVE-2021-44228Apache Log4j2 JNDI lookup remote code executionApache Log4j2 versions 2.0-beta9 through 2.15.0 (excluding 2.12.2, 2.12.3, and 2.3.1) do not protect against attacker-controlled LDAP and other JNDI …KEVEPSS 100%analysed9.8CVE-2026-24061GNU Inetutils telnetd argument injection allows remote auth bypasstelnetd in GNU Inetutils through 2.7 fails to sanitize the USER environment variable, so a value such as "-f root" is passed as an argument to login …KEVEPSS 99%analysed9.8CVE-2025-39682Linux kernel TLS zero-length record handling flaw on rx_listThe Linux kernel TLS receive path mishandles zero-length records that arrive from the rx_list, breaking the assumption that a record type change cann…KEVEPSS 2.9%analysed9.8CVE-2025-24813Apache Tomcat Default Servlet path equivalence enables RCE and file disclosureApache Tomcat mishandles path equivalence for names containing an internal dot, letting a remote unauthenticated attacker write files through the Def…KEVEPSS 100%analysed9.8CVE-2024-9680Mozilla Firefox and Thunderbird use-after-free in Animation timelinesA use-after-free flaw in Animation timelines allows an attacker to execute code in the content process of Firefox and Thunderbird. Mozilla reports ex…KEVEPSS 23%analysed9.8CVE-2023-46604Apache ActiveMQ OpenWire deserialization remote code executionThe Java OpenWire protocol marshaller in Apache ActiveMQ deserializes untrusted data, letting an attacker manipulate serialized class types so the br…KEVEPSS 100%analysed

Source: NIST National Vulnerability Database (record CVE-2020-8163), CISA KEV, FIRST EPSS (scores of 2026-09-26). This page is refreshed as NVD updates the record.