Ruby contains a vulnerability that may allow arbitrary code to be run without the intended safe-level checks being applied.
Ruby is a object-oriented scripting language that supports execution of untrusted code with two mechanisms: taint flagging and safe levels. Safe levels describe the mode of operation that is allowed on potentially tainted objects. A flaw in eval.c may result in Ruby failing to enforce the safe-level protections. This may result in arbitrary code being executed without the appropriate and intended security mechanisms applied. Specifically, if the program is passed through standard input (stdin), the safe level may be ignored and hence bypassed.
An attacker may be able to run arbitrary code without security checks being applied. An application may be designed in such a manner that this results in remote, unauthenticated arbitrary code execution.
Apply an update
Ruby 1.8.3 is the stable release that addresses this issue. Information on updates, fixes, and workarounds for this and other Ruby versions is contained in the Ruby vulnerability note for the issue.
Thanks to the Ruby project for reporting this vulnerability, who in turn thank Dr. Yutaka Oiwa, Research Center for Information Security, National Institute of Advanced Industrial Science and Technology for information on the issue.
This document was written by Ken MacInnis.
|Date First Published:||2005-10-05|
|Date Last Updated:||2005-12-16 20:05 UTC|