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バイトまでがサポートされるべきとされている。
サードパーティーCookieどころか (スコア:4, 参考になる)
サードパーティーCookieどころか、外部のサイトからPOSTで戻ってくる場合にも自サイトで発行したCookieが送信されなくなるので、
3Dセキュアとか決済代行サイトからPOSTで戻ってくるケースで問題になってる
https://www.ec-cube.net/news/detail.php?news_id=352 [ec-cube.net]
ちょっとこの仕様はさすがにどうなのって感じ
CSRF対策だっていうのならCookieの属性で許可ドメイン指定できるようにするんじゃダメだったのだろうか
Re: (スコア:0)
HTTPSじゃない決済代行とか論外でしょ。
Re: (スコア:0)
ガイジか?
外部サイトも自社サイトもどちらもhttpsだとしても、POSTで外部サイトから戻ってきたら自社サイトで発行したCookieが送信されないって話なんだが???
池沼か?
Re: (スコア:0)
それはクロスサイトなんだから当然Noneだろ。
Re: (スコア:0)
頭悪いなら黙ってればいいのに
Re: (スコア:0)
SameSiteオプションがなかなか使われるようにならず、業を煮やした結果、Chrome 80ではSameSite無指定時の挙動を変更したという経緯。したがって、デフォルトの挙動を安全寄りに変えることに意義が見いだされているので、
CSRF対策だっていうのならCookieの属性で許可ドメイン指定できるようにするんじゃダメだったのだろうか
みたいな既存コードに手を入れる案はダメだと判断されると思う。
Chromeが推奨環境から外された (スコア:1)
野村證券でセッションが維持できなくて(?)
Chrome80が推奨環境から外されたのもこれの関係かな?
Re:Chromeが推奨環境から外された (スコア:2, 興味深い)
対面証券つながりで1つ
東海東京証券
GoogleChrome80をご使用時の「即時入金サービス」画面への影響について
http://www.tokaitokyo.co.jp/company/info/products/info_200214chrome80.html [tokaitokyo.co.jp]
Re: (スコア:0)
対面証券まわりが騒がしい。
三菱UFJモルガン・スタンレー証券
Chrome(クローム)ブラウザをご利用のお客さまへ
https://www.sc.mufg.jp/company/news/inform/info20200217.html [sc.mufg.jp]
Re:Chromeが推奨環境から外された (スコア:2, 興味深い)
先読み(プリロード)のやり過ぎて、ユーザが踏んでないリンクも踏んで
その先まで読み込んでしまうから場合によっては勝手にログアウトして
しまうとかって話だったような。
Re: (スコア:0)
なるほど、典型的な改悪か。
WEBサーバ側で、プリロードを制御する仕様(ヘッダー)を用意しないと、弊害があるね。
Re:Chromeが推奨環境から外された (スコア:1)
そんなセッションな
Re:Chromeが推奨環境から外された (スコア:1)
こういうこと書かないように・言わないように気を付けなきゃ。
Re: (スコア:0)
気をつけても無駄だよ
それがおやじギャグの恐ろしさ
Re: (スコア:0)
だからといって推奨ブラウザのページに「Google chrome 79.x」と記載するのは何を考えてるんだろう。
何も考えてないんだろうな。
かえって壊れる環境 (スコア:0)
少し古い Mac で SameSite=None 送ると SameSite=Lax として扱う挙動がある。
(誰にも未来は分からないのでバグと呼ぶにはかわいそう。)
その環境では何も付けてないと SameSite=None としての取り扱いなので、
対応したつもりがエンバグ生んでしまう。
後からデフォルト変えます、みたいな考えはやめて欲しい。
新しいヘッダー名にした方がマシ。