漏洞标题
quic-go在Linux上受ICMP数据包过大注入攻击影响
漏洞描述信息
quic-go 是用 Go 语言实现的 QUIC 协议。攻击者可以在路径外注入一个 ICMP 报文过大(Packet Too Large)包。受影响的 quic-go 版本使用了 IP_PMTUDISC_DO,内核在 sendmsg 调用时(即 quic-go 尝试发送一个超过 ICMP 包中声明的 MTU 的数据包时)会返回一个 "消息过大" 错误。通过将该值设置为小于 1200 字节(QUIC 的最小 MTU),攻击者可以破坏 QUIC 连接。重要的是,攻击者可以在握手完成之后执行该攻击,从而绕过应用程序层可能实现的任何 TCP 回退机制(例如,许多浏览器在无法建立 QUIC 连接时会退回到基于 TCP 的 HTTP)。攻击者至少需要知道客户端的 IP 和端口组合来发起攻击。此漏洞在 0.48.2 版本中已修复。
CVSS信息
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
漏洞类别
输入验证不恰当
漏洞标题
quic-go affected by an ICMP Packet Too Large Injection Attack on Linux
漏洞描述信息
quic-go is an implementation of the QUIC protocol in Go. An off-path attacker can inject an ICMP Packet Too Large packet. Since affected quic-go versions used IP_PMTUDISC_DO, the kernel would then return a "message too large" error on sendmsg, i.e. when quic-go attempts to send a packet that exceeds the MTU claimed in that ICMP packet. By setting this value to smaller than 1200 bytes (the minimum MTU for QUIC), the attacker can disrupt a QUIC connection. Crucially, this can be done after completion of the handshake, thereby circumventing any TCP fallback that might be implemented on the application layer (for example, many browsers fall back to HTTP over TCP if they're unable to establish a QUIC connection). The attacker needs to at least know the client's IP and port tuple to mount an attack. This vulnerability is fixed in 0.48.2.
CVSS信息
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
漏洞类别
对数据真实性的验证不充分
漏洞标题
quic-go 数据伪造问题漏洞
漏洞描述信息
quic-go是Lucas Clemente个人开发者的一种 QUIC 协议、RFC 9000协议在 Go 中的实现。 quic-go v0.48.1之前版本存在数据伪造问题漏洞,该漏洞源于ICMP Packet Too Large消息处理不当,可能允许路径外攻击者通过注入此类数据包来中断QUIC连接,即使在握手完成后也能实施攻击,从而绕过了应用层上可能实现的TCP回退机制。
CVSS信息
N/A
漏洞类别
授权问题