cbcvebase.
CVE-2016-2098
published 2016-04-07

CVE-2016-2098: 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…

PriorityP277high7.3CVSS 3.0
AVNACLPRNUINSUCLILAL
EXPLOIT
EPSS
81.45%
99.6th percentile
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.

Affected

44 ranges· showing 25
VendorProductVersion rangeFixed in
actionpack_projectactionpack>= 3.0.0 < 3.2.22.23.2.22.2
actionpack_projectactionpack>= 4.0.0 < 4.1.14.24.1.14.2
actionpack_projectactionpack>= 4.2.0 < 4.2.5.24.2.5.2
debiandebian_linux
debianrails< rails 2:4.2.5.2-1 (bookworm)rails 2:4.2.5.2-1 (bookworm)
rubyonrailsrails
rubyonrailsrails
rubyonrailsrails
rubyonrailsrails
rubyonrailsrails
rubyonrailsrails
rubyonrailsrails
rubyonrailsrails
rubyonrailsrails
rubyonrailsrails
rubyonrailsrails
rubyonrailsrails
rubyonrailsrails
rubyonrailsrails
rubyonrailsrails
rubyonrailsrails
rubyonrailsrails
rubyonrailsrails
rubyonrailsrails
rubyonrailsrails

Detection & IOCsextracted from sources · hover to see the quote

command{"id": {"inline": "<%= eval(Base64.decode64('<base64_payload>')) %>"}}
otherContent-Type: application/json with inline ERB payload in JSON body via GET request
  • Detect GET requests with Content-Type: application/json containing a JSON body with an 'inline' key whose value contains ERB template syntax (e.g., <%= ... %>), targeting Rails application endpoints.
  • Look for HTTP requests where a parameter value is a JSON object containing the key 'inline' — this is the attack vector used to pass ERB templates to the Rails render method.
  • Flag Rails controller code that passes user-controlled params directly to render without validation, e.g., `render params[:id]` — this is the vulnerable code pattern.
  • No error condition is logged by the Rails runtime when this exploit succeeds, so absence of application errors does not indicate absence of exploitation.
  • ·Only Rails applications that pass unverified/untrusted user input directly to the `render` method are exploitable; applications that validate input before passing to render are not affected.
  • ·Rails 5.0 and above are not affected by this vulnerability.
  • ·The exploit is delivered as a GET request with a JSON body, which is an unusual combination — WAF or logging rules that ignore GET request bodies may miss this attack.

CVSS provenance

nvdv3.07.3HIGHCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
nvdv2.07.5HIGHAV:N/AC:L/Au:N/C:P/I:P/A:P
osv7.3HIGH
vendor_debian7.3HIGH
vendor_redhat7.3HIGH
CVEs like this are exactly what “Exploited This Week” covers.

Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.