Ruby on Rails の Action Pack のパラメータ解析の脆弱性により任意のRubyコードを実行される脆弱性(CVE-2013-0156)に関する検証レポート
2013/01/24
NTTデータ先端技術株式会社
辻 伸弘
小松 徹也
【概要】
Ruby on Railsに、リモートより任意のコードを実行される脆弱性が発見されました。
この脆弱性は、パラメータ解析におけるYAMLおよびシンボル変換の不備に起因します。この脆弱性を悪用して、攻撃者はターゲットホスト上にて、奪取したユーザ権限で任意のRubyコードの実行が可能です。
今回、このRuby on RailsのAction Packのパラメータ解析の脆弱性により、任意のRubyコードを実行される脆弱性(CVE-2013-0156)の再現性について検証を行いました。
検証環境には、HTTPリクエストを処理するためのWebサーバとWebアプリケーションフレームワークとしてRuby on Railsを使用するRailsアプリケーションを使用しております。
Ruby on Rails の Action Pack のパラメータ解析の脆弱性により任意のRubyコードを実行される脆弱性(CVE-2013-0156)に関する検証レポート
【影響を受けるとされているシステム】
- Ruby on Rails 3.2.10およびそれ以前のバージョン
- Ruby on Rails 3.1.9およびそれ以前のバージョン
- Ruby on Rails 3.0.18およびそれ以前のバージョン
- Ruby on Rails 2.3.14およびそれ以前のバージョン
【対策案】
Ruby on Rails Projectより、この脆弱性を修正するバージョンがリリースされています。
当該脆弱性が修正されたバージョンにアップデートしていただくことを推奨いたします。
Ruby on Railsダウンロードサイト
http://rubyonrails.org/download
- Ruby on Rails 3.2.11
- Ruby on Rails 3.1.10
- Ruby on Rails 3.0.19
- Ruby on Rails 2.3.15
【参考サイト】
CVE-2013-0156
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-0156
Vulnerability Note VU#380039
http://www.kb.cert.org/vuls/id/380039
JVNVU#94771138: Ruby on Rails に複数の脆弱性
http://jvn.jp/cert/JVNVU94771138/
【検証イメージ】
【検証ターゲットシステム】
- Debian 6.0.6上のRuby on Rails 3.2.10
【検証概要】
ターゲットシステムに、細工したHTTPリクエストを送信し、Ruby on Railsを利用したアプリケーションを介して、任意のRubyコードを実行させます。今回の検証に用いたコードは、ターゲットシステム上から特定のサーバ、ポートへコネクションを確立させるよう誘導し、システムの制御を奪取するものです。これにより、リモートからターゲットシステムを操作可能となります。
* 誘導先のシステムは Windows 7 です。
【検証結果】
下図は、攻撃後の誘導先のシステム画面です。
下図の赤線で囲まれている部分の示すように、誘導先のコンピュータ(Windows 7)のターミナル上にターゲットシステム(Debian)のプロンプトが表示されています。
黄線で囲まれている部分の示すように、ターゲットシステムにおいて、コマンドを実行した結果が表示されています。これにより、ターゲットシステムの制御の奪取に成功したと言えます。
PDF版のダウンロードはこちらから PDF版
※ 各規格名、会社名、団体名は、各社の商標または登録商標です。Tweet