中危 HTTP/2 快速重置可能会导致 net/http 工作量过多 (CVE-2023-39325)

CVE编号

CVE-2023-39325

利用情况

暂无

补丁情况

官方补丁

披露时间

2023-10-12
漏洞描述
A malicious HTTP/2 client which rapidly creates requests and immediately resets them can cause excessive server resource consumption. While the total number of requests is bounded by the http2.Server.MaxConcurrentStreams setting, resetting an in-progress request allows the attacker to create a new request while the existing one is still executing. With the fix applied, HTTP/2 servers now bound the number of simultaneously executing handler goroutines to the stream concurrency limit (MaxConcurrentStreams). New requests arriving when at the limit (which can only happen after the client has reset an existing, in-flight request) will be queued until a handler exits. If the request queue grows too large, the server will terminate the connection. This issue is also fixed in golang.org/x/net/http2 for users manually configuring HTTP/2. The default stream concurrency limit is 250 streams (requests) per HTTP/2 connection. This value may be adjusted using the golang.org/x/net/http2 package; see the Server.MaxConcurrentStreams setting and the ConfigureServer function.
解决建议
建议您更新当前系统或软件至最新版,完成漏洞的修复。
参考链接
https://go.dev/cl/534215
https://go.dev/cl/534235
https://go.dev/issue/63417
https://groups.google.com/g/golang-announce/c/iNNxDTCjZvo/m/UDd7VKQuAAAJ
https://lists.fedoraproject.org/archives/list/package-announce@lists.fedorapr...
https://lists.fedoraproject.org/archives/list/package-announce@lists.fedorapr...
https://lists.fedoraproject.org/archives/list/package-announce@lists.fedorapr...
https://lists.fedoraproject.org/archives/list/package-announce@lists.fedorapr...
https://lists.fedoraproject.org/archives/list/package-announce@lists.fedorapr...
https://lists.fedoraproject.org/archives/list/package-announce@lists.fedorapr...
https://lists.fedoraproject.org/archives/list/package-announce@lists.fedorapr...
https://lists.fedoraproject.org/archives/list/package-announce@lists.fedorapr...
https://lists.fedoraproject.org/archives/list/package-announce@lists.fedorapr...
https://lists.fedoraproject.org/archives/list/package-announce@lists.fedorapr...
https://lists.fedoraproject.org/archives/list/package-announce@lists.fedorapr...
https://lists.fedoraproject.org/archives/list/package-announce@lists.fedorapr...
https://lists.fedoraproject.org/archives/list/package-announce@lists.fedorapr...
https://lists.fedoraproject.org/archives/list/package-announce@lists.fedorapr...
https://lists.fedoraproject.org/archives/list/package-announce@lists.fedorapr...
https://lists.fedoraproject.org/archives/list/package-announce@lists.fedorapr...
https://lists.fedoraproject.org/archives/list/package-announce@lists.fedorapr...
https://lists.fedoraproject.org/archives/list/package-announce@lists.fedorapr...
https://lists.fedoraproject.org/archives/list/package-announce@lists.fedorapr...
https://lists.fedoraproject.org/archives/list/package-announce@lists.fedorapr...
https://lists.fedoraproject.org/archives/list/package-announce@lists.fedorapr...
https://lists.fedoraproject.org/archives/list/package-announce@lists.fedorapr...
https://lists.fedoraproject.org/archives/list/package-announce@lists.fedorapr...
https://lists.fedoraproject.org/archives/list/package-announce@lists.fedorapr...
https://lists.fedoraproject.org/archives/list/package-announce@lists.fedorapr...
https://lists.fedoraproject.org/archives/list/package-announce@lists.fedorapr...
https://lists.fedoraproject.org/archives/list/package-announce@lists.fedorapr...
https://lists.fedoraproject.org/archives/list/package-announce@lists.fedorapr...
https://lists.fedoraproject.org/archives/list/package-announce@lists.fedorapr...
https://lists.fedoraproject.org/archives/list/package-announce@lists.fedorapr...
https://lists.fedoraproject.org/archives/list/package-announce@lists.fedorapr...
https://lists.fedoraproject.org/archives/list/package-announce@lists.fedorapr...
https://lists.fedoraproject.org/archives/list/package-announce@lists.fedorapr...
https://lists.fedoraproject.org/archives/list/package-announce@lists.fedorapr...
https://lists.fedoraproject.org/archives/list/package-announce@lists.fedorapr...
https://lists.fedoraproject.org/archives/list/package-announce@lists.fedorapr...
https://pkg.go.dev/vuln/GO-2023-2102
https://security.gentoo.org/glsa/202311-09
https://security.netapp.com/advisory/ntap-20231110-0008/
受影响软件情况
# 类型 厂商 产品 版本 影响面
1
运行在以下环境
应用 golang go * From
(including)
1.20.0
Up to
(excluding)
1.20.10
运行在以下环境
应用 golang go * From
(including)
1.21.0
Up to
(excluding)
1.21.3
运行在以下环境
应用 golang http2 * Up to
(excluding)
0.17.0
运行在以下环境
系统 alibaba_cloud_linux_3 grafana * Up to
(excluding)
7.5.15-5.0.1.al8
运行在以下环境
系统 alma_linux_8 grafana * Up to
(excluding)
7.5.15-5.el8_8.alma.1
运行在以下环境
系统 alma_linux_9 golang * Up to
(excluding)
1.19.13-1.el9_2
运行在以下环境
系统 alpine_3.18 go * Up to
(excluding)
1.20.10-r0
运行在以下环境
系统 alpine_3.19 go * Up to
(excluding)
1.21.3-r0
运行在以下环境
系统 amazon_2 runc * Up to
(excluding)
1.1.7-4.amzn2
运行在以下环境
系统 amazon_2023 runc * Up to
(excluding)
1.1.7-1.amzn2023.0.3
运行在以下环境
系统 amazon_AMI golang * Up to
(excluding)
1.20.10-1.48.amzn1
运行在以下环境
系统 anolis_os_23 golang * Up to
(excluding)
1.20.10-1
运行在以下环境
系统 anolis_os_8 grafana * Up to
(excluding)
7.5.15-5.0.1
运行在以下环境
系统 fedoraproject fedora 37 -
运行在以下环境
系统 fedoraproject fedora 38 -
运行在以下环境
系统 fedora_37 pack * Up to
(excluding)
0.32.0-1.fc37
运行在以下环境
系统 fedora_38 pack * Up to
(excluding)
0.32.0-1.fc38
运行在以下环境
系统 fedora_39 sptp * Up to
(excluding)
0^20240110git1649917-1.fc39
运行在以下环境
系统 fedora_40 gh * Up to
(excluding)
2.39.1-1.fc40
运行在以下环境
系统 fedora_EPEL_7 golang * Up to
(excluding)
1.19.13-1.el7
运行在以下环境
系统 fedora_EPEL_9 syncthing * Up to
(excluding)
1.26.0-1.el9
运行在以下环境
系统 kylinos_aarch64_V10 golang * Up to
(excluding)
1.15.7-36.ky10
运行在以下环境
系统 kylinos_aarch64_V10SP1 golang * Up to
(excluding)
1.15.7-36.ky10
运行在以下环境
系统 kylinos_aarch64_V10SP2 golang * Up to
(excluding)
1.15.7-36.ky10
运行在以下环境
系统 kylinos_aarch64_V10SP3 golang * Up to
(excluding)
1.15.7-36.ky10
运行在以下环境
系统 kylinos_aarch64_V10SP32309b golang * Up to
(excluding)
1.15.7-36.ky10
运行在以下环境
系统 kylinos_loongarch64_V10SP3 golang * Up to
(excluding)
1.15.7-36.p01.a.ky10
运行在以下环境
系统 kylinos_x86_64_V10 golang * Up to
(excluding)
1.15.7-36.ky10
运行在以下环境
系统 kylinos_x86_64_V10SP1 golang * Up to
(excluding)
1.15.7-36.ky10
运行在以下环境
系统 kylinos_x86_64_V10SP2 golang * Up to
(excluding)
1.15.7-36.ky10
运行在以下环境
系统 kylinos_x86_64_V10SP3 golang * Up to
(excluding)
1.15.7-36.ky10
运行在以下环境
系统 opensuse_Leap_15.4 go1.20 * Up to
(excluding)
1.20.10-150000.1.29.1
运行在以下环境
系统 opensuse_Leap_15.5 go1.20 * Up to
(excluding)
1.20.10-150000.1.29.1
运行在以下环境
系统 oracle_7 yq * Up to
(excluding)
1.12.1-9.9.ol7_202311161803
运行在以下环境
系统 oracle_8 yq * Up to
(excluding)
1.25.0-2.el8
运行在以下环境
系统 oracle_9 yq * Up to
(excluding)
1.26.10-2.el9
运行在以下环境
系统 redhat_7 rhc-worker-script * Up to
(excluding)
0.5-1.el7_9
运行在以下环境
系统 redhat_8 grafana * Up to
(excluding)
7.5.15-5.el8_8
运行在以下环境
系统 redhat_9 golang * Up to
(excluding)
1.19.13-1.el9_2
运行在以下环境
系统 rocky_linux_8 grafana * Up to
(excluding)
7.5.15-5.el8_8
运行在以下环境
系统 rocky_linux_9 golang * Up to
(excluding)
1.19.13-1.el9_2
运行在以下环境
系统 ubuntu_20.04 golang-1.20 * Up to
(excluding)
1.20.3-1ubuntu0.1~20.04.1
运行在以下环境
系统 ubuntu_22.04 golang-1.20 * Up to
(excluding)
1.20.3-1ubuntu0.1~22.04.1
阿里云评分
6.2
  • 攻击路径
    本地
  • 攻击复杂度
    复杂
  • 权限要求
    普通权限
  • 影响范围
    越权影响
  • EXP成熟度
    未验证
  • 补丁情况
    官方补丁
  • 数据保密性
    无影响
  • 数据完整性
    无影响
  • 服务器危害
    无影响
  • 全网数量
    N/A
CWE-ID 漏洞类型
CWE-400 未加控制的资源消耗(资源穷尽)
CWE-770 不加限制或调节的资源分配
阿里云安全产品覆盖情况