quic-go is an implementation of the QUIC protocol in Go. Starting in version 0.37.0 and prior to version 0.37.3, by serializing an ACK frame after the CRYTPO that allows a node to complete the handshake, a remote node could trigger a nil pointer dereference (leading to a panic) when the node attempted to drop the Handshake packet number space. An attacker can bring down a quic-go node with very minimal effort. Completing the QUIC handshake only requires sending and receiving a few packets. Version 0.37.3 contains a patch. Versions before 0.37.0 are not affected.
A NULL pointer dereference occurs when the application dereferences a pointer that it expects to be valid, but is NULL, typically causing a crash or exit.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Quic-go | Quic-go_project | 0.37.0 (including) | 0.37.3 (excluding) |
Golang-github-lucas-clemente-quic-go | Ubuntu | bionic | * |
Golang-github-lucas-clemente-quic-go | Ubuntu | lunar | * |
Golang-github-lucas-clemente-quic-go | Ubuntu | mantic | * |
Golang-github-lucas-clemente-quic-go | Ubuntu | trusty | * |
Golang-github-lucas-clemente-quic-go | Ubuntu | xenial | * |