パスワードを忘れた? アカウント作成
14116007 story
Chrome

Chrome 80で導入されたCookieのSameSite属性サポートが原因でCookieの長さが上限を超え不具合が出るケースが発生 17

ストーリー by hylom
思わぬトラブル 部門より

2月4日にリリースされたGoogle Chrome 80では「SameSite Cookie」のサポート強化が行われている(OSDN Magazine)。SameSite Cookieはcookieに「SameSite」属性を指定することでいわゆる「サードパーティCookie」の挙動を制御できるものだが(過去記事)、これに関連するChromeの仕様変更に対応しようとした結果、送信されるCookie文字列が長くなり、その影響で不具合が発生するというトラブルが発生していたという(hitode909の日記)。

問題が発生したのはAmazon Web Services(AWS)のApplication Load Balance(ALB)。Chrome 80対応のためCookieに「sameSite=None」属性を追加したが、単純に属性を追加したためにそれによってCookieの文字列が長くなってしまったのが原因だという。

Cookieについて規定しているRFC2965では、Cookieの長さとして、名前や値、属性などを含めたサイズで少なくとも4096バイトまでがサポートされるべきとされている。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2020年02月19日 21時00分 (#3765349)

    サードパーティーCookieどころか、外部のサイトからPOSTで戻ってくる場合にも自サイトで発行したCookieが送信されなくなるので、
    3Dセキュアとか決済代行サイトからPOSTで戻ってくるケースで問題になってる
    https://www.ec-cube.net/news/detail.php?news_id=352 [ec-cube.net]

    ちょっとこの仕様はさすがにどうなのって感じ
    CSRF対策だっていうのならCookieの属性で許可ドメイン指定できるようにするんじゃダメだったのだろうか

    • by Anonymous Coward

      HTTPSじゃない決済代行とか論外でしょ。

      • by Anonymous Coward

        ガイジか?
        外部サイトも自社サイトもどちらもhttpsだとしても、POSTで外部サイトから戻ってきたら自社サイトで発行したCookieが送信されないって話なんだが???
        池沼か?

        • by Anonymous Coward

          それはクロスサイトなんだから当然Noneだろ。

      • by Anonymous Coward

        頭悪いなら黙ってればいいのに

    • by Anonymous Coward

      SameSiteオプションがなかなか使われるようにならず、業を煮やした結果、Chrome 80ではSameSite無指定時の挙動を変更したという経緯。したがって、デフォルトの挙動を安全寄りに変えることに意義が見いだされているので、

      CSRF対策だっていうのならCookieの属性で許可ドメイン指定できるようにするんじゃダメだったのだろうか

      みたいな既存コードに手を入れる案はダメだと判断されると思う。

  • by Anonymous Coward on 2020年02月19日 18時48分 (#3765190)

    野村證券でセッションが維持できなくて(?)
    Chrome80が推奨環境から外されたのもこれの関係かな?

  • by Anonymous Coward on 2020年02月20日 13時01分 (#3765825)

    少し古い Mac で SameSite=None 送ると SameSite=Lax として扱う挙動がある。
    (誰にも未来は分からないのでバグと呼ぶにはかわいそう。)
    その環境では何も付けてないと SameSite=None としての取り扱いなので、
    対応したつもりがエンバグ生んでしまう。

    後からデフォルト変えます、みたいな考えはやめて欲しい。
    新しいヘッダー名にした方がマシ。

typodupeerror

UNIXはただ死んだだけでなく、本当にひどい臭いを放ち始めている -- あるソフトウェアエンジニア

読み込み中...