Ticket #17332

getHiddenVarsの脆弱性の修正

Eröffnet am: 2009-06-15 18:35 Letztes Update: 2009-06-16 15:15

Auswertung:
Verantwortlicher:
Typ:
Status:
Geschlossen
Komponente:
Meilenstein:
(Keine)
Priorität:
9 - Höchste
Schweregrad:
9 - Höchste
Lösung:
Gefixt
Datei:
Keine

Details

脆弱性を見つけたので報告します。ブログからの引用になります。

Ethnaには、フォームの値のHiddenタグを作成してくれるgetHiddenVarsというメソッドがあります。

サブミットした値を、Hidden値として次のアクションに引き継ぐ際に使用する便利な関数ですが、特定の条件でクロスサイトスクリプティングになる脆弱性があることがわかりました。

(少なくともv1.4.2のドキュメントを見ると直っていなかった。)

特定の条件とは、

    • CSRF対策をやっていないアクション
    • GETで受け付けているアクション
    • フォームの値として配列を使用している。例)eki_id[]
    • getHiddenVarsで生成した文字列を、次の画面テンプレートで表示する

です。

eki_id[]がフォームの名称だとすると、

eki_id%5B"><script>alert(document.cookie)</script>%5D=123

という値をgetパラメータとして送ると、次の画面でScriptが実行されてしまいます。

これはgetHiddenVarsでは、フォームの名前はエスケープされないためだと思われます。

http://d.hatena.ne.jp/shuitic/20090615/1245039267

Ticket-Verlauf (3/4 Historien)

2009-06-15 18:35 Aktualisiert von: shuitic
  • New Ticket "getHiddenVarsの脆弱性の修正" created
2009-06-15 18:59 Aktualisiert von: mumumu-org
  • Schweregrad Update from 2 to 9 - Höchste
  • Verantwortlicher Update from (Keine) to mumumu-org
  • Komponente Update from (Keine) to Ethna-Core
  • Typ Update from Funktionsanfragen to Fehler
  • Priorität Update from 3 to 9 - Höchste
Kommentar

御報告ありがとうございます。form_name も 入力値であることを見逃した故のバグですね。 2.3.6 ブランチ、 trunk ともに修正し、必要なアナウンスをするようにします。

2009-06-15 20:56 Aktualisiert von: mumumu-org
  • Ticket Close date is changed to 2009-06-15 20:56
  • Lösung Update from Keine to Gefixt
  • Status Update from Offen to Geschlossen
Kommentar

2.3.6 branch, trunk ともに修正しました。2.3系に対しては新バージョンを、2.5.x 系については patch を今夜中にリリース予定です。

2009-06-16 15:15 Aktualisiert von: shuitic
Kommentar

すばやい対応ありがとうございます。

Dateianhangliste

Keine Anhänge

Bearbeiten

Please login to add comment to this ticket » Anmelden