CVE-2008-3655
Ruby < 1.8.5 - Unauthenticated Access Restriction Bypass via Critical Variable and Method Access
Title source: llmExploitation Summary
EIP tracks 2 public exploits for CVE-2008-3655. PoCs published by Keita Yamaguchi.
AI-analyzed exploit summary This exploit demonstrates a security-bypass vulnerability in Ruby's safe level restrictions by manipulating string behavior in a multi-threaded context, allowing unauthorized actions. It exploits flaws in the 'safe level' implementation to bypass intended security constraints.
Description
Ruby 1.8.5 and earlier, 1.8.6 through 1.8.6-p286, 1.8.7 through 1.8.7-p71, and 1.9 through r18423 does not properly restrict access to critical variables and methods at various safe levels, which allows context-dependent attackers to bypass intended access restrictions via (1) untrace_var, (2) $PROGRAM_NAME, and (3) syslog at safe level 4, and (4) insecure methods at safe levels 1 through 3.
Exploits (2)
This exploit demonstrates a security-bypass vulnerability in Ruby's safe level restrictions by manipulating string behavior in a multi-threaded context, allowing unauthorized actions. It exploits flaws in the 'safe level' implementation to bypass intended security constraints.
This exploit leverages a flaw in Ruby's 'dl' library to bypass safe level restrictions, allowing arbitrary function calls (e.g., 'system') even when $SAFE is set to 1. The PoC demonstrates a security bypass leading to remote code execution (RCE) by calling 'uname -rs' via the 'system' function.