Jinja: from_string関数(SSTI)でのコマンドインジェクション

作成日 2019年02月18日  ·  1コメント  ·  ソース: pallets/jinja

予想される行動

from_stringはエスケープされていないパラメータを受け入れるため、攻撃者はテンプレートにコードを挿入できます。

実際の動作

渡されたものはすべてエスケープする必要があります。

追加情報と概念実証

https://github.com/JameelNabbo/Jinja2-Code-execution
https://www.exploit-db.com/exploits/46386

最も参考になるコメント

そのレポとCVEを作成したユーザーは、彼らが何について話しているのかわかりません。残念ながら、彼らは公式に問題がないことを無責任に多くの人々に通知したため、これからも対処し続ける必要があります。 。 それらへの応答については、 https://github.com/JameelNabbo/Jinja2-Code-execution/issues/1を参照して

from_stringが存在するためにJinaに脆弱性があると言うことは、 evalが存在するためにすべての動的言語が脆弱である、またはSQL文字列を評価するためにすべてのSQLライブラリが脆弱であると言うようなものです。 問題は、ユーザー入力を処理するための適切なツールをすべて提供するライブラリにはありません。 SQLライブラリにはインジェクションの脆弱性はありませんが、SQLライブラリを使用するプロジェクトには不適切な脆弱性があります。

信頼できないテンプレートをコンパイルするリスクを冒したい場合はSandboxedEnvironmentを使用し、信頼できない変数をレンダリングする場合はautoescapeを使用する必要があります。

>すべてのコメント

そのレポとCVEを作成したユーザーは、彼らが何について話しているのかわかりません。残念ながら、彼らは公式に問題がないことを無責任に多くの人々に通知したため、これからも対処し続ける必要があります。 。 それらへの応答については、 https://github.com/JameelNabbo/Jinja2-Code-execution/issues/1を参照して

from_stringが存在するためにJinaに脆弱性があると言うことは、 evalが存在するためにすべての動的言語が脆弱である、またはSQL文字列を評価するためにすべてのSQLライブラリが脆弱であると言うようなものです。 問題は、ユーザー入力を処理するための適切なツールをすべて提供するライブラリにはありません。 SQLライブラリにはインジェクションの脆弱性はありませんが、SQLライブラリを使用するプロジェクトには不適切な脆弱性があります。

信頼できないテンプレートをコンパイルするリスクを冒したい場合はSandboxedEnvironmentを使用し、信頼できない変数をレンダリングする場合はautoescapeを使用する必要があります。

このページは役に立ちましたか?
0 / 5 - 0 評価