← Vulnerability feed

Vulnerability record · CVE-2016-2098 · published 7 April 2016

CVE-2016-2098: Ruby on Rails Action Pack render method remote code execution

Debian · Debian Linux

Action Pack in Ruby on Rails before 3.2.22.2, 4.x before 4.1.14.2, and 4.2.x before 4.2.5.2 permits remote code execution when an application uses the render method with attacker-influenced input. The flaw is improper input validation (CWE-20) that lets crafted requests reach Ruby code execution, which matters because Rails is widely deployed and the affected render pattern is common in application code.

7.3 CVSS 3.0 High EPSS 81% · top 0.4% CWE-20 · Improper input validation
7.3CVSS 3.0 base score, v2 7.5
81%EPSS exploitation probability, 30 days
NoNot in CISA KEV
3Affected product versions listed by NVD
24References
17 Jun 2026Last modified by NVD

Description

Action Pack in Ruby on Rails before 3.2.22.2, 4.x before 4.1.14.2, and 4.2.x before 4.2.5.2 allows remote attackers to execute arbitrary Ruby code by leveraging an application's unrestricted use of the render method.

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

Automated analysis

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

critical priorityUnauthenticated network-reachable remote code execution with a very high EPSS score and public exploit code makes this an urgent patch target despite no KEV listing.

What it is

Action Pack in Ruby on Rails before 3.2.22.2, 4.x before 4.1.14.2, and 4.2.x before 4.2.5.2 permits remote code execution when an application uses the render method with attacker-influenced input. The flaw is improper input validation (CWE-20) that lets crafted requests reach Ruby code execution, which matters because Rails is widely deployed and the affected render pattern is common in application code.

Impact

An unauthenticated remote attacker can execute arbitrary Ruby code in the context of the Rails application, leading to full compromise of the application server and any data or credentials it can reach.

Attack surface

Reached over the network via HTTP requests to an application endpoint that passes user-controlled input into the render method; the CVSS vector shows no privileges and no user interaction required, though exploitation depends on the application actually exposing that pattern.

Exploitation

Not listed in CISA KEV, but EPSS is very high (0.81445, 99.62nd percentile) and a public Exploit-DB entry (40086) exists, indicating mature public exploitation.

What to do

  • Upgrade Rails to 3.2.22.2, 4.1.14.2, 4.2.5.2 or later as described in the vendor advisory
  • Apply the Debian DSA-3509 or openSUSE updates if Rails is installed from distribution packages
  • Audit application code for render calls that accept user-controlled parameters and remove or strictly whitelist those inputs
  • Where immediate upgrade is impossible, block or sanitize request parameters reaching render and restrict outbound network access from the application server

Detection

  • Search application and web logs for requests containing render-related parameters with Ruby code patterns or unusual file paths
  • Monitor for unexpected child processes, shell execution or outbound connections spawned by the Rails application process
  • Alert on errors or stack traces referencing render with attacker-supplied input in production logs

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

Affected products

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

References

LinkTags
http://lists.opensuse.org/opensuse-security-announce/2016-03/msg00057.html
http://lists.opensuse.org/opensuse-security-announce/2016-03/msg00080.html
http://lists.opensuse.org/opensuse-security-announce/2016-03/msg00083.html
http://lists.opensuse.org/opensuse-security-announce/2016-03/msg00086.html
http://lists.opensuse.org/opensuse-security-announce/2016-04/msg00006.html
http://lists.opensuse.org/opensuse-security-announce/2016-04/msg00053.html
http://weblog.rubyonrails.org/2016/2/29/Rails-4-2-5-2-4-1-14-2-3-2-22-2-have-been-released/ PatchVendor Advisory
http://www.debian.org/security/2016/dsa-3509
http://www.securityfocus.com/bid/83725
http://www.securitytracker.com/id/1035122
https://groups.google.com/forum/message/raw?msg=rubyonrails-security/ly-IH-fxr_Q/WLoOhcMZIAAJ
https://www.exploit-db.com/exploits/40086/
http://lists.opensuse.org/opensuse-security-announce/2016-03/msg00057.html
http://lists.opensuse.org/opensuse-security-announce/2016-03/msg00080.html
http://lists.opensuse.org/opensuse-security-announce/2016-03/msg00083.html
http://lists.opensuse.org/opensuse-security-announce/2016-03/msg00086.html
http://lists.opensuse.org/opensuse-security-announce/2016-04/msg00006.html
http://lists.opensuse.org/opensuse-security-announce/2016-04/msg00053.html
http://weblog.rubyonrails.org/2016/2/29/Rails-4-2-5-2-4-1-14-2-3-2-22-2-have-been-released/ PatchVendor Advisory
http://www.debian.org/security/2016/dsa-3509
http://www.securityfocus.com/bid/83725
http://www.securitytracker.com/id/1035122
https://groups.google.com/forum/message/raw?msg=rubyonrails-security/ly-IH-fxr_Q/WLoOhcMZIAAJ
https://www.exploit-db.com/exploits/40086/

Track CVE-2016-2098 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-2016-2098), CISA KEV, FIRST EPSS (scores of 2026-09-26). This page is refreshed as NVD updates the record.