CVE-2016-2098

HIGH

Debian Linux < 3.2.22.1 - Improper Input Validation

Title source: rule
STIX 2.1

Exploitation Summary

EIP tracks 15 public exploits for CVE-2016-2098. PoCs published by Metasploit, 0x00-0x00, j4k0m, including Metasploit module exploits/multi/http/rails_actionpack_inline_exec.

AI-analyzed exploit summary This Metasploit module exploits CVE-2016-2098, a remote code execution vulnerability in Ruby on Rails ActionPack. It injects malicious ERB code into a JSON parameter, which is then evaluated on the server, leading to arbitrary code execution.

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.

Exploits (15)

exploitdb WORKING POC VERIFIED
by Metasploit · rubyremoteruby
https://www.exploit-db.com/exploits/40086

This Metasploit module exploits CVE-2016-2098, a remote code execution vulnerability in Ruby on Rails ActionPack. It injects malicious ERB code into a JSON parameter, which is then evaluated on the server, leading to arbitrary code execution.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Ruby on Rails ActionPack (versions affected by CVE-2016-2098)
No auth needed
Prerequisites: Vulnerable Ruby on Rails application with exposed endpoint · Network access to the target
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC 16 stars
by 0x00-0x00 · poc
https://github.com/0x00-0x00/CVE-2016-2098

This repository contains a functional Go-based exploit for CVE-2016-2098, which targets a remote code execution vulnerability in Ruby on Rails' `render` method. The exploit constructs a malicious URL with an inline template injection payload to execute arbitrary shell commands on the target server.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Trivial
Reliability
Reliable
Target: Ruby on Rails before 3.2.22.2, 4.x before 4.1.14.2, and 4.2.x before 4.2.5.2
No auth needed
Prerequisites: Vulnerable Ruby on Rails application with unrestricted use of the `render` method · Identifiable vulnerable parameter in the target URL
devstral-2 · analyzed Feb 18, 2026 Full analysis →
nomisec WRITEUP 4 stars
by j4k0m · poc
https://github.com/j4k0m/CVE-2016-2098

The repository provides a technical explanation of CVE-2016-2098, a remote code execution vulnerability in Ruby on Rails due to unsafe usage of the `render` method on user-supplied data. It includes details on exploitation via inline rendering and command injection, along with URL encoding examples.

Classification
Writeup 90%
Attack Type
Rce
Complexity
Trivial
Reliability
Reliable
Target: Ruby on Rails (versions affected by CVE-2016-2098)
No auth needed
Prerequisites: Target application must use the `render` method on user-supplied input · Inline rendering must be enabled or exploitable
devstral-2 · analyzed Feb 18, 2026 Full analysis →
nomisec WORKING POC 3 stars
by hderms · poc
https://github.com/hderms/dh-CVE_2016_2098

This repository contains a functional Rails application demonstrating CVE-2016-2098, a vulnerability in Rails' render method that allows arbitrary file reads. The ExploitsController renders user-supplied input directly, enabling path traversal attacks.

Classification
Working Poc 90%
Attack Type
Info Leak
Complexity
Trivial
Reliability
Reliable
Target: Ruby on Rails (versions affected by CVE-2016-2098)
No auth needed
Prerequisites: A vulnerable Rails application with exposed controller rendering user input
devstral-2 · analyzed Feb 18, 2026 Full analysis →
nomisec WORKING POC 2 stars
by Shakun8 · poc
https://github.com/Shakun8/CVE-2016-2098

This repository contains a functional Python script that exploits CVE-2016-2098, a command injection vulnerability in the 'inline' parameter of a web application. The script sends a crafted HTTP GET request with a malicious payload to execute arbitrary commands on the target system.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Trivial
Reliability
Reliable
Target: Unknown (likely a web application with vulnerable parameter handling)
No auth needed
Prerequisites: Target URL with vulnerable parameter · Network access to the target
devstral-2 · analyzed Feb 18, 2026 Full analysis →
nomisec WORKING POC 2 stars
by DanielHemmati · poc
https://github.com/DanielHemmati/CVE-2016-2098-my-first-exploit

This repository contains a functional Python exploit for CVE-2016-2098, a remote code execution vulnerability in Ruby on Rails. The exploit leverages the `render` function on user-supplied data to execute arbitrary commands via a crafted payload.

Classification
Working Poc 90%
Attack Type
Rce
Complexity
Trivial
Reliability
Reliable
Target: Ruby on Rails (versions affected by CVE-2016-2098)
No auth needed
Prerequisites: Target application must be vulnerable to CVE-2016-2098 · Network access to the target application
devstral-2 · analyzed Feb 18, 2026 Full analysis →
nomisec WORKING POC 1 stars
by its-arun · poc
https://github.com/its-arun/CVE-2016-2098

This repository contains a functional exploit script for CVE-2016-2098, which leverages Ruby on Rails' unrestricted use of the render method to execute arbitrary Ruby code. The script sends crafted HTTP requests to exploit the vulnerability and provides an interactive shell for command execution.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Trivial
Reliability
Reliable
Target: Ruby on Rails before 3.2.22.2, 4.x before 4.1.14.2, and 4.2.x before 4.2.5.2
No auth needed
Prerequisites: Target application must be running a vulnerable version of Ruby on Rails · Target application must have unrestricted use of the render method
devstral-2 · analyzed Feb 18, 2026 Full analysis →
nomisec WORKING POC 1 stars
by Alejandro-MartinG · poc
https://github.com/Alejandro-MartinG/rails-PoC-CVE-2016-2098

This repository contains a functional Proof of Concept (PoC) for CVE-2016-2098, demonstrating a remote code execution (RCE) vulnerability in Rails 4.2.5.1. The PoC includes a Rails application with a vulnerable endpoint that allows arbitrary code execution via crafted template parameters.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Trivial
Reliability
Reliable
Target: Ruby on Rails 4.2.5.1
No auth needed
Prerequisites: A vulnerable Rails application running version 4.2.5.1 or earlier · Network access to the target application
devstral-2 · analyzed Feb 18, 2026 Full analysis →
nomisec WORKING POC 1 stars
by CyberDefenseInstitute · poc
https://github.com/CyberDefenseInstitute/PoC_CVE-2016-2098_Rails42

This repository contains a functional proof-of-concept for CVE-2016-2098, a remote code execution vulnerability in Rails 4.2.5.1. The exploit leverages unsafe template rendering via the `template[inline]` parameter to execute arbitrary commands.

Classification
Working Poc 90%
Attack Type
Rce
Complexity
Trivial
Reliability
Reliable
Target: Ruby on Rails 4.2.5.1
No auth needed
Prerequisites: A vulnerable Rails 4.2.5.1 application with the vulnerable endpoint exposed
devstral-2 · analyzed Feb 18, 2026 Full analysis →
gitlab WORKING POC
by fuxsocy.py · poc
https://gitlab.com/fuxsocy.py/cve-2016-2098

The repository contains a functional Python-based exploit for CVE-2016-2098, which leverages an input validation error in Ruby on Rails' Action Pack to execute arbitrary Ruby code via the render method. The exploit constructs a malicious URL with an inline template injection payload and processes the response to extract output.

Classification
Working Poc 80%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Ruby on Rails before 3.2.22.2, 4.x before 4.1.14.2, and 4.2.x before 4.2.5.2
No auth needed
Prerequisites: Target application must use unrestricted render method · Network access to the vulnerable application
devstral-2 · analyzed Feb 23, 2026 Full analysis →
nomisec WORKING POC
by sealldeveloper · poc
https://github.com/sealldeveloper/CVE-2016-2098-PoC

This repository contains a functional Python script that exploits CVE-2016-2098, an ERB template injection vulnerability, to achieve remote code execution (RCE). The script automates parameter detection, payload injection, and provides an interactive shell for command execution on the target system.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Ruby on Rails (ERB template engine)
No auth needed
Prerequisites: Target URL with vulnerable parameter · Network access to the target
devstral-2 · analyzed Feb 18, 2026 Full analysis →
nomisec WORKING POC
by JoseLRC97 · poc
https://github.com/JoseLRC97/Ruby-on-Rails-ActionPack-Inline-ERB-Remote-Code-Execution

This repository contains a functional Python exploit for CVE-2016-2098, targeting Ruby on Rails ActionPack Inline ERB to achieve remote code execution. The exploit crafts a malicious JSON payload with base64-encoded Ruby code, which is then sent to a vulnerable endpoint.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Ruby on Rails ActionPack (Ruby 2.3.8)
No auth needed
Prerequisites: Vulnerable Ruby on Rails application with exposed endpoint · Network access to the target host
devstral-2 · analyzed Feb 18, 2026 Full analysis →
nomisec WORKING POC
by Debalinax64 · poc
https://github.com/Debalinax64/CVE-2016-2098

This repository contains a functional exploit script for CVE-2016-2098, which allows remote code execution in Ruby on Rails applications by leveraging unrestricted use of the render method. The script sends a crafted HTTP request with an inline template to execute arbitrary commands on the target system.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Trivial
Reliability
Reliable
Target: Ruby on Rails before 3.2.22.2, 4.x before 4.1.14.2, and 4.2.x before 4.2.5.2
No auth needed
Prerequisites: Target application must have unrestricted use of the render method · Target must be running a vulnerable version of Ruby on Rails
devstral-2 · analyzed Feb 18, 2026 Full analysis →
nomisec WORKING POC
by 3rg1s · poc
https://github.com/3rg1s/CVE-2016-2098

This repository contains a functional Python-based exploit for CVE-2016-2098, which allows remote code execution in Ruby on Rails applications by leveraging unrestricted use of the render method. The exploit constructs a malicious URL with embedded Ruby code and processes the response to extract output.

Classification
Working Poc 80%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Ruby on Rails before 3.2.22.2, 4.x before 4.1.14.2, and 4.2.x before 4.2.5.2
No auth needed
Prerequisites: Target application must have unrestricted use of the render method · Network access to the vulnerable application
devstral-2 · analyzed Feb 18, 2026 Full analysis →
metasploit WORKING POC EXCELLENT
rubypocruby
https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/multi/http/rails_actionpack_inline_exec.rb

This Metasploit module exploits a remote code execution vulnerability in Ruby on Rails ActionPack by injecting ERB code into a JSON parameter, which is then evaluated on the server. The payload is base64-encoded and executed via the `eval` function in the ERB template.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Trivial
Reliability
Reliable
Target: Ruby on Rails ActionPack (versions affected by CVE-2016-2098)
No auth needed
Prerequisites: Vulnerable Ruby on Rails application with exposed endpoint accepting JSON input
devstral-2 · analyzed Feb 16, 2026 Full analysis →

References (12)

Core 12
Core References
Third Party Advisory vendor-advisory x_refsource_debian
http://www.debian.org/security/2016/dsa-3509
Third Party Advisory, VDB Entry vdb-entry x_refsource_bid
http://www.securityfocus.com/bid/83725
Third Party Advisory, VDB Entry vdb-entry x_refsource_sectrack
http://www.securitytracker.com/id/1035122
Exploit, Third Party Advisory exploit x_refsource_exploit-db
https://www.exploit-db.com/exploits/40086/

Scores

CVSS v3 7.3
EPSS 0.8667
EPSS Percentile 99.4%
Attack Vector NETWORK
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L

Details

CWE
CWE-20
Status published
Products (28)
debian/debian_linux 8.0
rubygems/actionpack 3.0.0 - 3.2.22.2RubyGems
rubyonrails/rails 4.0.0 (4 CPE variants)
rubyonrails/rails 4.0.1 (5 CPE variants)
rubyonrails/rails 4.0.2
rubyonrails/rails 4.0.3
rubyonrails/rails 4.0.4 (2 CPE variants)
rubyonrails/rails 4.0.5
rubyonrails/rails 4.0.6 (4 CPE variants)
rubyonrails/rails 4.0.7
... and 18 more
Published Apr 07, 2016
Tracked Since Feb 18, 2026