Project

General

Profile

Bug(バグ) #1161

HTTPS で使用するセッションクッキーに secure 属性がついていない

Added by Kousuke Ebihara about 12 years ago. Updated over 2 years ago.

Status:
Pending Fixing(修正待ち)
Priority:
Normal(通常)
Assignee:
-
Target version:
Start date:
2010-06-13
Due date:
% Done:

0%

3.6 で発生するか:
No
3.8 で発生するか:
Unknown (未調査)

Description

HTTPS で使用するセッションクッキーに secure 属性がついていない。

HTTP 向けのセッションクッキーと HTTPS 向けのセッションクッキー(secure 属性付き)を分けて発行し、 HTTP と HTTPS ページで別々のセッション ID を用いるようにしなければ、 HTTP 通信時に盗聴された Cookie 内のセッション ID を用い、 HTTPS ページに対してセッションハイジャックが可能になってしまう。

See:

History

#1 Updated by Kousuke Ebihara almost 12 years ago

  • Status changed from New(新規) to Accepted(着手)
  • Assignee set to Kousuke Ebihara

#2 Updated by Kousuke Ebihara almost 12 years ago

  • Status changed from Accepted(着手) to Pending Fixing(修正待ち)
  • Assignee deleted (Kousuke Ebihara)
  • Target version deleted (OpenPNE 3.6beta1)

簡単なスクリプト http://gist.github.com/476143 で確認してみましたが、 HTTP と HTTPS でセッション ID を分けているはずなのに、レスポンスヘッダが以下のようになってしまいました。

Set-Cookie: _secure=secure-session-id; path=/

Set-Cookie: _normal=secure-session-id; path=/

なぜこのような挙動になってしまうのかはきちんと調査しなければならないところですが、残念ながら 3.6beta1 リリースまでにそのための時間を満足にとることができない状況です。

セッションハンドラをファイル以外にすれば、 OpenPNE 側で制御できる範囲が広がるので、サーバへのセッションデータの書き込みは HTTP と HTTPS を分けて保存するように自前でハンドリングするという方法が最悪取れなくもありません(が、よっぽどのことがない限りは現状通り PHP のセッションハンドラに乗っかるべきです)。しかし、これも、現在のデフォルトのセッションハンドラがファイルになっている以上、このタイミングで安易に変えるということができません。

ひとまず 3.6 では見送りとさせてください。本件について、 3.7 では最大限に優先度を上げて取り組みましょう。

#3 Updated by Rimpei Ogawa almost 12 years ago

  • 3.6 で発生するか set to No

#4 Updated by Kousuke Ebihara over 11 years ago

  • Priority changed from High(高め) to Normal(通常)

#5 Updated by kaoru n over 2 years ago

  • Target version set to OpenPNE 3.10.x

Also available in: Atom PDF