Cloudanix VulnDB

CVE-2024-53259

Medium · 6.5

CVSS

6.5

EPSS

0.6%

Published

Dec 2, 2024

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

Attackers who know a device's address can send a fake network error that breaks modern encrypted connections, causing outages for services that rely on them.

Exploitation
Adjacent Network
Attacker needs
None
Complexity
Moderate
Impact
Denial Of Service
Component
Library
Class
Denial of service
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Off-path attacker injects forged ICMP Packet Too Large claiming MTU below 1200 bytes; quic-go with IP_PMTUDISC_DO receives sendmsg "message too large" errors and aborts the QUIC connection after handshake completion.

Why it matters to the business

Disrupts QUIC/HTTP3 services, causing connection drops, degraded availability, and fallback bypass that affects latency-sensitive or high-throughput applications until patched.

How an attack unfolds

Attacker who knows the client IP:port tuple sends a single spoofed ICMP PTB packet with MTU <1200; the kernel returns errors on subsequent oversized sends, terminating the post-handshake QUIC session without triggering application-layer TCP fallback.

How to fix it

Upgrade quic-go to 0.48.2 or later (commit 34157e6455b07723d11385212a4e1328f57f1da5); rebuild and redeploy all dependent services.

How to confirm the fix worked

Confirm quic-go version >=0.48.2 in go.mod or binary; replay ICMP PTB test and verify send operations continue without MTU-induced errors.

Typical attack path

  1. Obtain target client IP and UDP port tuple
  2. Craft and transmit spoofed ICMP Packet Too Large with claimed MTU below 1200 bytes
  3. Trigger or wait for quic-go to attempt packet transmission exceeding the forged MTU
  4. Observe repeated sendmsg failures and connection termination

How to detect it

Inspect application and kernel logs for repeated "message too large" sendmsg failures on QUIC sockets; correlate with inbound ICMP type 3 code 4 packets claiming small MTUs around the time of connection drops.

  • sendmsg.*message too large
  • ICMP Packet Too Big MTU < 1200
  • quic-go connection reset after ICMP PTB

What your security team should do

  • Immediately upgrade all quic-go deployments to the fixed commit
  • Review network ACLs to limit spoofed ICMP ingress where possible
  • Add monitoring for sudden QUIC connection resets correlated with ICMP traffic
  • Test application fallback behavior under simulated MTU attacks

The record

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.

Affected packages

Ecosystem Package Introduced Fixed
Go github.com/quic-go/quic-go 0 0.48.2
Chainguard buf 0 1.47.2-r1
Chainguard caddy 0 2.8.4-r4
Chainguard caddy-fips 0 2.8.4-r4
Chainguard caddy-man 0 2.8.4-r4
Chainguard caddy-src 0 2.8.4-r4
Chainguard cloudflared 0 2024.12.1-r0
Chainguard coredns 0 1.12.0-r1
Chainguard coredns-compat 0 1.12.0-r1
Chainguard coredns-fips 0 1.12.0-r1
Chainguard eks-distro-1.27 0 1.27.40-r4
Chainguard eks-distro-1.28 0 1.28.38-r1
Chainguard eks-distro-1.29 0 1.29.27-r1
Chainguard eks-distro-1.30 0 1.30.20-r0
Chainguard eks-distro-1.31 0 1.31.9-r0
Chainguard eks-distro-coredns-1.27 0 1.27.40-r4
Chainguard eks-distro-coredns-1.28 0 1.28.38-r1
Chainguard eks-distro-coredns-1.29 0 1.29.27-r1
Chainguard eks-distro-coredns-1.30 0 1.30.20-r0
Chainguard eks-distro-coredns-1.31 0 1.31.9-r0
Chainguard eks-distro-coredns-fips-1.27 0 1.27.40-r2
Chainguard eks-distro-coredns-fips-1.28 0 1.28.38-r1
Chainguard eks-distro-coredns-fips-1.29 0 1.29.27-r1
Chainguard eks-distro-coredns-fips-1.30 0 1.30.20-r0
Chainguard eks-distro-coredns-fips-1.31 0 1.31.9-r0
Chainguard eks-distro-fips-1.27 0 1.27.40-r2
Chainguard eks-distro-fips-1.28 0 1.28.38-r1
Chainguard eks-distro-fips-1.29 0 1.29.27-r1
Chainguard eks-distro-fips-1.30 0 1.30.20-r0
Chainguard eks-distro-fips-1.31 0 1.31.9-r0
Chainguard eks-distro-kube-apiserver-1.27 0 1.27.40-r4
Chainguard eks-distro-kube-apiserver-1.28 0 1.28.38-r1
Chainguard eks-distro-kube-apiserver-1.29 0 1.29.27-r1
Chainguard eks-distro-kube-apiserver-1.30 0 1.30.20-r0
Chainguard eks-distro-kube-apiserver-1.31 0 1.31.9-r0
Chainguard eks-distro-kube-apiserver-fips-1.27 0 1.27.40-r2
Chainguard eks-distro-kube-apiserver-fips-1.28 0 1.28.38-r1
Chainguard eks-distro-kube-apiserver-fips-1.29 0 1.29.27-r1
Chainguard eks-distro-kube-apiserver-fips-1.30 0 1.30.20-r0
Chainguard eks-distro-kube-apiserver-fips-1.31 0 1.31.9-r0
Chainguard eks-distro-kube-controller-manager-1.27 0 1.27.40-r4
Chainguard eks-distro-kube-controller-manager-1.28 0 1.28.38-r1
Chainguard eks-distro-kube-controller-manager-1.29 0 1.29.27-r1
Chainguard eks-distro-kube-controller-manager-1.30 0 1.30.20-r0
Chainguard eks-distro-kube-controller-manager-1.31 0 1.31.9-r0
Chainguard eks-distro-kube-controller-manager-fips-1.27 0 1.27.40-r2
Chainguard eks-distro-kube-controller-manager-fips-1.28 0 1.28.38-r1
Chainguard eks-distro-kube-controller-manager-fips-1.29 0 1.29.27-r1
Chainguard eks-distro-kube-controller-manager-fips-1.30 0 1.30.20-r0
Chainguard eks-distro-kube-controller-manager-fips-1.31 0 1.31.9-r0
Chainguard eks-distro-kube-proxy-1.27 0 1.27.40-r4
Chainguard eks-distro-kube-proxy-1.28 0 1.28.38-r1
Chainguard eks-distro-kube-proxy-1.29 0 1.29.27-r1
Chainguard eks-distro-kube-proxy-1.30 0 1.30.20-r0
Chainguard eks-distro-kube-proxy-1.31 0 1.31.9-r0
Chainguard eks-distro-kube-proxy-fips-1.27 0 1.27.40-r2
Chainguard eks-distro-kube-proxy-fips-1.28 0 1.28.38-r1
Chainguard eks-distro-kube-proxy-fips-1.29 0 1.29.27-r1
Chainguard eks-distro-kube-proxy-fips-1.30 0 1.30.20-r0
Chainguard eks-distro-kube-proxy-fips-1.31 0 1.31.9-r0
Chainguard eks-distro-kube-scheduler-1.27 0 1.27.40-r4
Chainguard eks-distro-kube-scheduler-1.28 0 1.28.38-r1
Chainguard eks-distro-kube-scheduler-1.29 0 1.29.27-r1
Chainguard eks-distro-kube-scheduler-1.30 0 1.30.20-r0
Chainguard eks-distro-kube-scheduler-1.31 0 1.31.9-r0
Chainguard eks-distro-kube-scheduler-fips-1.27 0 1.27.40-r2
Chainguard eks-distro-kube-scheduler-fips-1.28 0 1.28.38-r1
Chainguard eks-distro-kube-scheduler-fips-1.29 0 1.29.27-r1
Chainguard eks-distro-kube-scheduler-fips-1.30 0 1.30.20-r0
Chainguard eks-distro-kube-scheduler-fips-1.31 0 1.31.9-r0
Chainguard eks-distro-kubernetes-csi-external-attacher-1.27 0 1.27.40-r4
Chainguard eks-distro-kubernetes-csi-external-attacher-1.28 0 1.28.38-r1
Chainguard eks-distro-kubernetes-csi-external-attacher-1.29 0 1.29.27-r1
Chainguard eks-distro-kubernetes-csi-external-attacher-1.30 0 1.30.20-r0
Chainguard eks-distro-kubernetes-csi-external-attacher-1.31 0 1.31.9-r0
Chainguard eks-distro-kubernetes-csi-external-attacher-fips-1.27 0 1.27.40-r2
Chainguard eks-distro-kubernetes-csi-external-attacher-fips-1.28 0 1.28.38-r1
Chainguard eks-distro-kubernetes-csi-external-attacher-fips-1.29 0 1.29.27-r1
Chainguard eks-distro-kubernetes-csi-external-attacher-fips-1.30 0 1.30.20-r0
Chainguard eks-distro-kubernetes-csi-external-attacher-fips-1.31 0 1.31.9-r0
Chainguard eks-distro-kubernetes-csi-external-provisioner-1.27 0 1.27.40-r4
Chainguard eks-distro-kubernetes-csi-external-provisioner-1.28 0 1.28.38-r1
Chainguard eks-distro-kubernetes-csi-external-provisioner-1.29 0 1.29.27-r1
Chainguard eks-distro-kubernetes-csi-external-provisioner-1.30 0 1.30.20-r0
Chainguard eks-distro-kubernetes-csi-external-provisioner-1.31 0 1.31.9-r0
Chainguard eks-distro-kubernetes-csi-external-provisioner-fips-1.27 0 1.27.40-r2
Chainguard eks-distro-kubernetes-csi-external-provisioner-fips-1.28 0 1.28.38-r1
Chainguard eks-distro-kubernetes-csi-external-provisioner-fips-1.29 0 1.29.27-r1
Chainguard eks-distro-kubernetes-csi-external-provisioner-fips-1.30 0 1.30.20-r0
Chainguard eks-distro-kubernetes-csi-external-provisioner-fips-1.31 0 1.31.9-r0
Chainguard eks-distro-kubernetes-csi-external-resizer-1.27 0 1.27.40-r4
Chainguard eks-distro-kubernetes-csi-external-resizer-1.28 0 1.28.38-r1
Chainguard eks-distro-kubernetes-csi-external-resizer-1.29 0 1.29.27-r1
Chainguard eks-distro-kubernetes-csi-external-resizer-1.30 0 1.30.20-r0
Chainguard eks-distro-kubernetes-csi-external-resizer-1.31 0 1.31.9-r0
Chainguard eks-distro-kubernetes-csi-external-resizer-fips-1.27 0 1.27.40-r2
Chainguard eks-distro-kubernetes-csi-external-resizer-fips-1.28 0 1.28.38-r1
Chainguard eks-distro-kubernetes-csi-external-resizer-fips-1.29 0 1.29.27-r1
Chainguard eks-distro-kubernetes-csi-external-resizer-fips-1.30 0 1.30.20-r0
Chainguard eks-distro-kubernetes-csi-external-resizer-fips-1.31 0 1.31.9-r0
Chainguard eks-distro-kubernetes-csi-external-snapshot-controller-1.27 0 1.27.40-r4
Chainguard eks-distro-kubernetes-csi-external-snapshot-controller-1.28 0 1.28.38-r1
Chainguard eks-distro-kubernetes-csi-external-snapshot-controller-1.29 0 1.29.27-r1
Chainguard eks-distro-kubernetes-csi-external-snapshot-controller-1.30 0 1.30.20-r0
Chainguard eks-distro-kubernetes-csi-external-snapshot-controller-1.31 0 1.31.9-r0
Chainguard eks-distro-kubernetes-csi-external-snapshot-controller-fips-1.27 0 1.27.40-r2
Chainguard eks-distro-kubernetes-csi-external-snapshot-controller-fips-1.28 0 1.28.38-r1
Chainguard eks-distro-kubernetes-csi-external-snapshot-controller-fips-1.29 0 1.29.27-r1
Chainguard eks-distro-kubernetes-csi-external-snapshot-controller-fips-1.30 0 1.30.20-r0
Chainguard eks-distro-kubernetes-csi-external-snapshot-controller-fips-1.31 0 1.31.9-r0
Chainguard eks-distro-kubernetes-csi-external-snapshot-validation-webhook-1.27 0 1.27.40-r4
Chainguard eks-distro-kubernetes-csi-external-snapshot-validation-webhook-1.28 0 1.28.38-r1
Chainguard eks-distro-kubernetes-csi-external-snapshot-validation-webhook-1.29 0 1.29.27-r1
Chainguard eks-distro-kubernetes-csi-external-snapshot-validation-webhook-1.30 0 1.30.20-r0
Chainguard eks-distro-kubernetes-csi-external-snapshot-validation-webhook-1.31 0 1.31.9-r0
Chainguard eks-distro-kubernetes-csi-external-snapshot-validation-webhook-fips-1.27 0 1.27.40-r2
Chainguard eks-distro-kubernetes-csi-external-snapshot-validation-webhook-fips-1.28 0 1.28.38-r1
Chainguard eks-distro-kubernetes-csi-external-snapshot-validation-webhook-fips-1.29 0 1.29.27-r1
Chainguard eks-distro-kubernetes-csi-external-snapshot-validation-webhook-fips-1.30 0 1.30.20-r0
Chainguard eks-distro-kubernetes-csi-external-snapshot-validation-webhook-fips-1.31 0 1.31.9-r0
Chainguard eks-distro-kubernetes-csi-external-snapshotter-1.27 0 1.27.40-r4
Chainguard eks-distro-kubernetes-csi-external-snapshotter-1.28 0 1.28.38-r1
Chainguard eks-distro-kubernetes-csi-external-snapshotter-1.29 0 1.29.27-r1
Chainguard eks-distro-kubernetes-csi-external-snapshotter-1.30 0 1.30.20-r0
Chainguard eks-distro-kubernetes-csi-external-snapshotter-1.31 0 1.31.9-r0
Chainguard eks-distro-kubernetes-csi-external-snapshotter-fips-1.27 0 1.27.40-r2
Chainguard eks-distro-kubernetes-csi-external-snapshotter-fips-1.28 0 1.28.38-r1
Chainguard eks-distro-kubernetes-csi-external-snapshotter-fips-1.29 0 1.29.27-r1
Chainguard eks-distro-kubernetes-csi-external-snapshotter-fips-1.30 0 1.30.20-r0
Chainguard eks-distro-kubernetes-csi-external-snapshotter-fips-1.31 0 1.31.9-r0
Chainguard eks-distro-kubernetes-csi-livenessprobe-1.27 0 1.27.40-r4
Chainguard eks-distro-kubernetes-csi-livenessprobe-1.28 0 1.28.38-r1
Chainguard eks-distro-kubernetes-csi-livenessprobe-1.29 0 1.29.27-r1
Chainguard eks-distro-kubernetes-csi-livenessprobe-1.30 0 1.30.20-r0
Chainguard eks-distro-kubernetes-csi-livenessprobe-1.31 0 1.31.9-r0
Chainguard eks-distro-kubernetes-csi-livenessprobe-fips-1.27 0 1.27.40-r2
Chainguard eks-distro-kubernetes-csi-livenessprobe-fips-1.28 0 1.28.38-r1
Chainguard eks-distro-kubernetes-csi-livenessprobe-fips-1.29 0 1.29.27-r1
Chainguard eks-distro-kubernetes-csi-livenessprobe-fips-1.30 0 1.30.20-r0
Chainguard eks-distro-kubernetes-csi-livenessprobe-fips-1.31 0 1.31.9-r0
Chainguard eks-distro-kubernetes-csi-node-driver-registrar-1.27 0 1.27.40-r4
Chainguard eks-distro-kubernetes-csi-node-driver-registrar-1.28 0 1.28.38-r1
Chainguard eks-distro-kubernetes-csi-node-driver-registrar-1.29 0 1.29.27-r1
Chainguard eks-distro-kubernetes-csi-node-driver-registrar-1.30 0 1.30.20-r0
Chainguard eks-distro-kubernetes-csi-node-driver-registrar-1.31 0 1.31.9-r0
Chainguard eks-distro-kubernetes-csi-node-driver-registrar-fips-1.27 0 1.27.40-r2
Chainguard eks-distro-kubernetes-csi-node-driver-registrar-fips-1.28 0 1.28.38-r1
Chainguard eks-distro-kubernetes-csi-node-driver-registrar-fips-1.29 0 1.29.27-r1
Chainguard eks-distro-kubernetes-csi-node-driver-registrar-fips-1.30 0 1.30.20-r0
Chainguard eks-distro-kubernetes-csi-node-driver-registrar-fips-1.31 0 1.31.9-r0
Chainguard eks-distro-kubernetes-pause-1.27 0 1.27.40-r4
Chainguard eks-distro-kubernetes-pause-1.28 0 1.28.38-r1
Chainguard eks-distro-kubernetes-pause-1.29 0 1.29.27-r1
Chainguard eks-distro-kubernetes-pause-1.30 0 1.30.20-r0
Chainguard eks-distro-kubernetes-pause-1.31 0 1.31.9-r0
Chainguard eks-distro-kubernetes-pause-compat-1.27 0 1.27.40-r4
Chainguard eks-distro-kubernetes-pause-compat-1.28 0 1.28.38-r1
Chainguard eks-distro-kubernetes-pause-compat-1.29 0 1.29.27-r1
Chainguard eks-distro-kubernetes-pause-compat-1.30 0 1.30.20-r0
Chainguard eks-distro-kubernetes-pause-compat-1.31 0 1.31.9-r0
Chainguard frp 0 0.61.0-r1
Chainguard go-ipfs-fips 0 0.32.1-r1
Chainguard ipfs 0 0.32.1-r1
Chainguard k3s 0 1.31.3.1-r0
Chainguard k3s-embedded 0 1.31.3.1-r0
Chainguard k3s-images 0 1.31.3.1-r0
Chainguard k3s-multicall 0 1.31.3.1-r0
Chainguard k3s-static 0 1.31.3.1-r0
Chainguard kubernetes-dns-node-cache 0 1.23.1-r6
Chainguard kubernetes-dns-node-cache-fips 0 1.23.1-r5
Chainguard kuma-coredns 0 1.12.0-r1
Chainguard q 0 0.19.9-r2
Chainguard spegel 0 0.0.27-r1
Chainguard spegel-compat 0 0.0.27-r1
Chainguard teleport 0 17.0.3-r0
Chainguard traefik-2.11 0 2.11.14-r1
Chainguard traefik-3.1 0 3.1.7-r3
Chainguard traefik-3.2 0 3.2.1-r1
Chainguard traefik-fips-2.11 0 2.11.14-r1
Chainguard traefik-fips-3.1 0 3.1.7-r2
Chainguard traefik-fips-3.2 0 3.2.1-r1
Debian:11 golang-github-lucas-clemente-quic-go 0 No fix
Debian:12 golang-github-lucas-clemente-quic-go 0 No fix
Debian:13 golang-github-lucas-clemente-quic-go 0 No fix
Debian:14 golang-github-lucas-clemente-quic-go 0 0.50.0-1
Red Hat:ansible_automation_platform:2.5::el8 automation-controller-venv-tower 0 0:4.6.3-1.el8ap
Red Hat:ansible_automation_platform:2.5::el8 receptor 0 0:1.5.1-2.el8ap
Red Hat:ansible_automation_platform:2.5::el8 receptor-debuginfo 0 0:1.5.1-2.el8ap
Red Hat:ansible_automation_platform:2.5::el8 receptor-debugsource 0 0:1.5.1-2.el8ap
Red Hat:ansible_automation_platform:2.5::el8 receptorctl 0 0:1.5.1-2.el8ap
Red Hat:ansible_automation_platform:2.5::el9 automation-controller-venv-tower 0 0:4.6.3-1.el9ap
Red Hat:ansible_automation_platform:2.5::el9 receptor 0 0:1.5.1-2.el9ap
Red Hat:ansible_automation_platform:2.5::el9 receptor-debuginfo 0 0:1.5.1-2.el9ap
Red Hat:ansible_automation_platform:2.5::el9 receptor-debugsource 0 0:1.5.1-2.el9ap
Red Hat:ansible_automation_platform:2.5::el9 receptorctl 0 0:1.5.1-2.el9ap
Red Hat:ansible_automation_platform_developer:2.5::el8 automation-controller-venv-tower 0 0:4.6.3-1.el8ap
Red Hat:ansible_automation_platform_developer:2.5::el8 receptor 0 0:1.5.1-2.el8ap
Red Hat:ansible_automation_platform_developer:2.5::el8 receptor-debuginfo 0 0:1.5.1-2.el8ap
Red Hat:ansible_automation_platform_developer:2.5::el8 receptor-debugsource 0 0:1.5.1-2.el8ap
Red Hat:ansible_automation_platform_developer:2.5::el8 receptorctl 0 0:1.5.1-2.el8ap

Related vulnerabilities