本文へスキップ
MameTechNews
バックエンド

Go 1.27.2と1.26.9、HTTP/2停止とCONNECTのずれを修正

## POINTS

  • 1.27.2と1.26.9で15件を修正。HTTP/2はプロセス停止とTrailer経由のメモリ消費が対象。
  • CONNECT後はクライアントもサーバも接続を閉じる。ReverseProxyはCONNECTに405を返す。
  • Rangeが200超の静的配信は無視する。外すときはGODEBUG=httpservecontentmaxranges=0。

Goチームは10月8日、Go 1.27.2と1.26.9を公開した。golang-announceの案内は、セキュリティポリシーに沿った15件の修正を列挙している。対象はnet/http、crypto/tls、html/template、net/textproto、os、goコマンドにまたがる。

HTTP/2サーバでは、応答のヘッダ符号化と、クライアントが送るSETTINGS_HEADER_TABLE_SIZEの反映が同時に走り、HPACKエンコーダを壊してプロセスを落とせる(CVE-2026-97032)。Trailerヘッダで大量のフィールドを宣言すると、Server.MaxHeaderBytesなどの上限をすり抜けてメモリを確保できた(CVE-2026-78659)。こちらはHTTP/2が対象で、HTTP/1には当てはまらない。

CONNECTの挙動も変わる。HTTP/1クライアントは、サーバがCONNECTを拒否したあとも本文バイトが次のリクエストに見えるずれを避けるため、CONNECTを送った接続を状態にかかわらず閉じる(CVE-2026-56866)。サーバ側もCONNECTへの応答後は接続を閉じる(CVE-2026-94439)。httputil.ReverseProxyは、受け取ったCONNECTに405 Method Not Allowedを返す。これまで有用なトンネルにはしていなかった、と案内は説明している。

FileServer、ServeContent、ServeFileは、Rangeが200を超えるとヘッダを無視し、CPUの消費を抑える(CVE-2026-78667)。上限を外すにはGODEBUG=httpservec>