- 1 名前:匿名のゴリラ 投稿日時:2022/02/04(金) 23:33:09.90 ID:WU1ZzfWT0
世界中の「Firefox」が一時的に使用不能になった問題について、Mozillaが詳細を明かす
「Firefox」のHTTP/3接続は、すべてネットワーキングスタック「Necko」を経由する。
しかし、ネットワークへアクセスする必要のあるRustコンポーネントは、「Necko」を直接使うのではなく、
「viaduct」と呼ばれる中間ライブラリを挟んで「Necko」を呼び出す仕組みになっている。HTTP/3接続はリクエストサイズを決定するため、「Content-Length」ヘッダーを必要とする。
「Necko」はこのヘッダーが存在するかどうかをチェックし、存在しない場合は自動で追加する。ところが、「Necko」のチェックでは大文字と小文字が区別されない。一方で、HTTP/3接続においては大文字と小文字が区別される。
「Necko」は「Content-Length」ヘッダーを追加する際、大文字と小文字を正しく挿入するため、この違いは通常、問題とならない。
しかし、「viaduct」を通過するリクエストは「Content-Length」ヘッダーを小文字に変換してしまう。
そのため、「Necko」のチェックをすり抜けてしまうが、実際のHTTP/3接続では「Content-Length」ヘッダーを見つけられず、
送信するコンテンツがないとして予期せず終了する。
このおかげで、コードはエラーを返すどころか、無限ループに陥る。すべてのネットワークリクエストは1つのソケットスレッドを経由するため、
このループはそれ以上のネットワーク通信をブロックしてしまい、その結果「Firefox」はWebコンテンツを読み込めずに無反応となってしまった。Rustベースの「Firefox」コンポーネントのうち、ネットワークスタックを利用しており、
かつ「Content-Length」ヘッダーを追加するのはテレメトリコンポーネントだけだ。そのため、テレメトリを無効化している「Firefox」ではHTTP/3接続のエラーは幸運にも発生しなかった。
しかしこれはたまたまで、根本的な原因は「Necko」と「viaduct」の関係にあったといえる。
https://forest.watch.impress.co.jp/docs/news/1385904.html- 2 名前:匿名のゴリラ 投稿日時:2022/02/04(金) 23:34:55.57 ID:Y048Kt5q0
- あーなるほどな
大方のケンモメンの予想通りだったな - 3 名前:匿名のゴリラ 投稿日時:2022/02/04(金) 23:36:21.87 ID:ErGRsZ8x0
- すげえな
大方のケンモメン - 4 名前:匿名のゴリラ 投稿日時:2022/02/04(金) 23:36:50.77 ID:jLyd6Izo0
- 全ての接続が通るという「Necko」って全ての根本ってことで日本語の根っこからとってる感じしない?
ホルホルホルホル - 5 名前:匿名のゴリラ 投稿日時:2022/02/04(金) 23:37:10.06 ID:jub5bE6U0
- テレメトリを有効にしてた献身的なユーザーがバカみたいじゃん
- 6 名前:匿名のゴリラ 投稿日時:2022/02/04(金) 23:38:10.57 ID:wwNt16gY0
- ネッコがアホやった
- 7 名前:匿名のゴリラ 投稿日時:2022/02/04(金) 23:38:34.29 ID:TtDaFuaw0
- 掃除のおばちゃんが電源抜いたんだろ
- 8 名前:匿名のゴリラ 投稿日時:2022/02/04(金) 23:38:57.45 ID:P7COSeeoa
- 知らんうちにHTTP3使ってたんだな
- 9 名前:匿名のゴリラ 投稿日時:2022/02/04(金) 23:39:06.34 ID:mGKwBEWb0
- なんで大文字小文字区別しないんだよ
- 10 名前:匿名のゴリラ 投稿日時:2022/02/04(金) 23:40:39.77 ID:weIEFpooM
- ネッコがゴミクヅだった
- 11 名前:匿名のゴリラ 投稿日時:2022/02/04(金) 23:40:57.39 ID:ueW363Cr0
- viaductはなんで勝手に小文字にするの?
- 13 名前:匿名のゴリラ 投稿日時:2022/02/04(金) 23:41:18.49 ID:GDZ2SboW0
- わかったにゃー
- 14 名前:匿名のゴリラ 投稿日時:2022/02/04(金) 23:41:45.38 ID:yj2ZQ4Xi0
- 大分のケンモメン?
- 15 名前:匿名のゴリラ 投稿日時:2022/02/04(金) 23:41:53.59 ID:Wy5b4tew0
- ネスケに乗り換えるわ
- 16 名前:匿名のゴリラ 投稿日時:2022/02/04(金) 23:41:59.62 ID:XEoM4VS90
- だから俺があれほど脆弱性を指摘してたのに
- 17 名前:匿名のゴリラ 投稿日時:2022/02/04(金) 23:42:19.12 ID:wXJm3p4r0
- イッヌを使え
- 18 名前:匿名のゴリラ 投稿日時:2022/02/04(金) 23:45:18.53 ID:9lp3nn/A0
- こういうとき大文字小文字どっちも許容するのかそれとも頭大文字の場合のみを許容するべきなのか
どっちなのか教えてケンモメン - 19 名前:匿名のゴリラ 投稿日時:2022/02/04(金) 23:48:02.01 ID:KawDA9ip0
- まじかー😾
- 21 名前:匿名のゴリラ 投稿日時:2022/02/04(金) 23:48:46.95 ID:ALL120EM0
- なんかわけわからんエラー出てたのこれが原因か
- 22 名前:匿名のゴリラ 投稿日時:2022/02/04(金) 23:49:11.20 ID:87WWKIeKa
- 思った通りだった。
- 23 名前:匿名のゴリラ 投稿日時:2022/02/04(金) 23:49:11.65 ID:apdOKs6n0
- 最近内輪もめしてるとか言われてたけど大丈夫なのか
- 24 名前:匿名のゴリラ 投稿日時:2022/02/04(金) 23:49:25.18 ID:Tv6QKMjv0
- ふーんEDGEで十分じゃん
- 25 名前:匿名のゴリラ 投稿日時:2022/02/04(金) 23:51:43.91 ID:Bj5h1bMb0
- こんな不具合あったのか?うちのfirefox56ちゃん(エ口動画専用)は何もなかったな
- 26 名前:匿名のゴリラ 投稿日時:2022/02/04(金) 23:52:31.39 ID:jub5bE6U0
- Mozillaからの説明だとGoogleがGCPのロードバランサで予告なく勝手にHTTP3をデフォルトにしたせいと書いてあったはw
- 27 名前:匿名のゴリラ 投稿日時:2022/02/04(金) 23:53:21.66 ID:a/FqA+Qy0
- ネッコ言いたいだけやん
- 28 名前:匿名のゴリラ 投稿日時:2022/02/04(金) 23:54:24.21 ID:WdT5JxMC0
- ねこ?w
- 29 名前:匿名のゴリラ 投稿日時:2022/02/04(金) 23:55:43.22 ID:KVN2StE40
- ネコやんけ
- 30 名前:匿名のゴリラ 投稿日時:2022/02/04(金) 23:56:23.69 ID:S+orNseB0
- ブラウザ開いて寝落ちして朝起きるとブラウザクラッシュしてる
- 31 名前:匿名のゴリラ 投稿日時:2022/02/05(土) 00:00:21.45 ID:iyIPyT8I0
- つまりインターネットが壊れたってこと
- 32 名前:匿名のゴリラ 投稿日時:2022/02/05(土) 00:01:04.98 ID:NQKfNgWa0
- Content-Lengthが見っかんない時のデフォルト値0で
無限ループになるのがいけない・・・・でいいのかっ
デフォルト値1ぐらいにしとけば、無限ループにならずに済んだって事かっ
コメント一覧