Rails の安全でないリフレクション

critical Web App Scanning プラグイン ID 113009

概要

Rails の安全でないリフレクション

説明

Ruby On Rails は、Model-View-Controller (MVC) アーキテクチャパターンに基づいて Web アプリケーションを構築するために使用される一般的なフレームワークです。

Ruby On Rails は、開発者が文字列を使用して定数を動的に検索できるようにする、「constantize」と呼ばれるメソッドを提供します。このメソッドの最も一般的な使用法は、クラスまたはモジュールをその名前から動的にインスタンス化することです。アプリケーションが制御されていないユーザー入力で「constantize」メソッドを呼び出すとき、安全でないリフレクションの脆弱性が発生します。この問題を利用して、攻撃者はクラスをインスタンス化し、ターゲットアプリケーションでリモートコードの実行を試みる可能性があります。

ソリューション

アプリケーションは、「constantize」メソッドが呼び出されるユーザー指定の文字列を信頼すべきではなく、ロジックに応じて使用される必要かつ安全な文字列のみを信頼すべきです。

参考資料

https://blog.convisoappsec.com/en/exploiting-unsafe-reflection-in-rubyrails-applications/

https://owasp.org/www-community/vulnerabilities/Unsafe_use_of_Reflection

https://www.praetorian.com/blog/ruby-unsafe-reflection-vulnerabilities/

プラグインの詳細

深刻度: Critical

ID: 113009

タイプ: remote

ファミリー: Component Vulnerability

公開日: 2021/10/5

更新日: 2021/10/5

スキャン テンプレート: api, basic, full, pci, scan

リスク情報

VPR

リスクファクター: Medium

スコア: 6.7

CVSS v2

リスクファクター: High

基本値: 7.5

ベクトル: CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P

CVSS スコアのソース: Tenable

CVSS v3

リスクファクター: Critical

基本値: 9.8

ベクトル: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

CVSS スコアのソース: Tenable

脆弱性情報

CPE: cpe:2.3:a:rubyonrails:rails:*:*:*:*:*:*:*:*

参照情報