Every CVE Search/ Get API key

CVE-2023-49295

quic-go's path validation mechanism can cause denial of service

6.4 MediumFix available

quic-go is an implementation of the QUIC protocol (RFC 9000, RFC 9001, RFC 9002) in Go. An attacker can cause its peer to run out of memory sending a large number of PATH_CHALLENGE frames. The receiver is supposed to respond to each PATH_CHALLENGE frame with a PATH_RESPONSE frame. The attacker can prevent the receiver from sending out (the vast majority of) these PATH_RESPONSE frames by collapsing the peers congestion window (by selectively acknowledging received packets) and by manipulating the peer's RTT estimate. This vulnerability has been patched in versions 0.37.7, 0.38.2 and 0.39.4.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
High
Privileges needed
Low
User interaction
None

What an attacker can affect

Confidentiality
Low
Integrity
Low
Availability
High

Exploit likelihood

1.20%Up 1.2 points since Jan 17, 2024
90%50%10%1%

What each source reports

CVE List Score used 6.4

quic-go's path validation mechanism can cause denial of service

quic-go is an implementation of the QUIC protocol (RFC 9000, RFC 9001, RFC 9002) in Go. An attacker can cause its peer to run out of memory sending a large number of PATH_CHALLENGE frames. The receiver is supposed to respond to each PATH_CHALLENGE frame with a PATH_RESPONSE frame. The attacker can prevent the receiver from sending out (the vast majority of) these PATH_RESPONSE frames by collapsing the peers congestion window (by selectively acknowledging received packets) and by manipulating the peer's RTT estimate. This vulnerability has been patched in versions 0.37.7, 0.38.2 and 0.39.4.

Record
CVE-2023-49295
CVSS 3.1
6.4 MediumCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:H
Weakness
CWE-400
Updated
2026-11-02
EUVDEUVD-2024-0394 6.4

quic-go is an implementation of the QUIC protocol (RFC 9000, RFC 9001, RFC 9002) in Go. An attacker can cause its peer to run out of memory sending a large number of PATH_CHALLENGE frames. The receiver is supposed to respond to each PATH_CHALLENGE frame with a PATH_RESPONSE frame. The attacker can prevent the receiver from sending out (the vast majority of) these PATH_RESPONSE frames by collapsing the peers congestion window (by selectively acknowledging received packets) and by manipulating the peer's RTT estimate. This vulnerability has been patched in versions 0.37.7, 0.38.2 and 0.39.4.

Record
EUVD-2024-0394
CVSS 3.1
6.4 MediumCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:H
Updated
2026-11-02
GitHub AdvisoriesGHSA-ppxx-5m9h-6vxf 6.4

quic-go's path validation mechanism can be exploited to cause denial of service

An attacker can cause its peer to run out of memory sending a large number of PATH_CHALLENGE frames. The receiver is supposed to respond to each PATH_CHALLENGE frame with a PATH_RESPONSE frame. The attacker can prevent the receiver from sending out (the vast majority of) these PATH_RESPONSE frames by collapsing the peers congestion window (by selectively acknowledging received packets) and by manipulating the peer's RTT estimate.

I published a more detailed description of the attack and its mitigation in this blog post: https://seemann.io/posts/2023-12-18-exploiting-quics-path-validation/

There's no way to mitigate this attack, please update quic-go to a version that contains the fix.

Record
GHSA-ppxx-5m9h-6vxf
CVSS 3.1
6.4 MediumCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:H
Weakness
CWE-400
Updated
2026-11-02
NVD 6.4

quic-go is an implementation of the QUIC protocol (RFC 9000, RFC 9001, RFC 9002) in Go. An attacker can cause its peer to run out of memory sending a large number of PATH_CHALLENGE frames. The receiver is supposed to respond to each PATH_CHALLENGE frame with a PATH_RESPONSE frame. The attacker can prevent the receiver from sending out (the vast majority of) these PATH_RESPONSE frames by collapsing the peers congestion window (by selectively acknowledging received packets) and by manipulating the peer's RTT estimate. This vulnerability has been patched in versions 0.37.7, 0.38.2 and 0.39.4.

Record
CVE-2023-49295
CVSS 3.1
6.4 MediumCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:H
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-400
Updated
2026-11-02
OSVAZL-33285 6.5

CVE-2023-49295 affecting package coredns for versions less than 1.11.1-5

quic-go is an implementation of the QUIC protocol (RFC 9000, RFC 9001, RFC 9002) in Go. An attacker can cause its peer to run out of memory sending a large number of PATH_CHALLENGE frames. The receiver is supposed to respond to each PATH_CHALLENGE frame with a PATH_RESPONSE frame. The attacker can prevent the receiver from sending out (the vast majority of) these PATH_RESPONSE frames by collapsing the peers congestion window (by selectively acknowledging received packets) and by manipulating the peer's RTT estimate. This vulnerability has been patched in versions 0.37.7, 0.38.2 and 0.39.4.

Record
AZL-33285
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVAZL-34627 6.5

CVE-2023-49295 affecting package coredns for versions less than 1.11.1-2

quic-go is an implementation of the QUIC protocol (RFC 9000, RFC 9001, RFC 9002) in Go. An attacker can cause its peer to run out of memory sending a large number of PATH_CHALLENGE frames. The receiver is supposed to respond to each PATH_CHALLENGE frame with a PATH_RESPONSE frame. The attacker can prevent the receiver from sending out (the vast majority of) these PATH_RESPONSE frames by collapsing the peers congestion window (by selectively acknowledging received packets) and by manipulating the peer's RTT estimate. This vulnerability has been patched in versions 0.37.7, 0.38.2 and 0.39.4.

Record
AZL-34627
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
Show 9 moreShow less
OSV 6.4

quic-go's path validation mechanism can cause denial of service

quic-go is an implementation of the QUIC protocol (RFC 9000, RFC 9001, RFC 9002) in Go. An attacker can cause its peer to run out of memory sending a large number of PATH_CHALLENGE frames. The receiver is supposed to respond to each PATH_CHALLENGE frame with a PATH_RESPONSE frame. The attacker can prevent the receiver from sending out (the vast majority of) these PATH_RESPONSE frames by collapsing the peers congestion window (by selectively acknowledging received packets) and by manipulating the peer's RTT estimate. This vulnerability has been patched in versions 0.37.7, 0.38.2 and 0.39.4.

Record
CVE-2023-49295
CVSS 3.1
6.4 MediumCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:H
Weakness
CWE-400
Updated
2026-11-02
OSVDEBIAN-CVE-2023-49295 6.5

quic-go is an implementation of the QUIC protocol (RFC 9000, RFC 9001, RFC 9002) in Go. An attacker can cause its peer to run out of memory sending a large number of PATH_CHALLENGE frames. The receiver is supposed to respond to each PATH_CHALLENGE frame with a PATH_RESPONSE frame. The attacker can prevent the receiver from sending out (the vast majority of) these PATH_RESPONSE frames by collapsing the peers congestion window (by selectively acknowledging received packets) and by manipulating the peer's RTT estimate. This vulnerability has been patched in versions 0.37.7, 0.38.2 and 0.39.4.

Record
DEBIAN-CVE-2023-49295
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVGHSA-ppxx-5m9h-6vxf 6.4

quic-go's path validation mechanism can be exploited to cause denial of service

An attacker can cause its peer to run out of memory sending a large number of PATH_CHALLENGE frames. The receiver is supposed to respond to each PATH_CHALLENGE frame with a PATH_RESPONSE frame. The attacker can prevent the receiver from sending out (the vast majority of) these PATH_RESPONSE frames by collapsing the peers congestion window (by selectively acknowledging received packets) and by manipulating the peer's RTT estimate.

I published a more detailed description of the attack and its mitigation in this blog post: https://seemann.io/posts/2023-12-18-exploiting-quics-path-validation/

There's no way to mitigate this attack, please update quic-go to a version that contains the fix.

Record
GHSA-ppxx-5m9h-6vxf
CVSS 3.1
6.4 MediumCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:H
Weakness
CWE-400
Updated
2026-11-02
OSVRHSA-2024:0855 6.5

Red Hat Security Advisory: Red Hat Ansible Automation Platform 2.4 Product Security and Bug Fix Update

Record
RHSA-2024:0855
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVUBUNTU-CVE-2023-49295 6.4

quic-go is an implementation of the QUIC protocol (RFC 9000, RFC 9001, RFC 9002) in Go. An attacker can cause its peer to run out of memory sending a large number of PATH_CHALLENGE frames. The receiver is supposed to respond to each PATH_CHALLENGE frame with a PATH_RESPONSE frame. The attacker can prevent the receiver from sending out (the vast majority of) these PATH_RESPONSE frames by collapsing the peers congestion window (by selectively acknowledging received packets) and by manipulating the peer's RTT estimate. This vulnerability has been patched in versions 0.37.7, 0.38.2 and 0.39.4.

Record
UBUNTU-CVE-2023-49295
CVSS 3.1
6.4 MediumCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:H
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVGO-2024-2459 No score

Denial of service via path validation in github.com/quic-go/quic-go

Denial of service via path validation in github.com/quic-go/quic-go

Record
GO-2024-2459
Updated
2026-11-02
OSVopenSUSE-RU-2026:21160-1 No score

Recommended update for dnscrypt-proxy

This update for dnscrypt-proxy fixes the following issues:

Changes in dnscrypt-proxy:

  • Update to version 2.1.16

    • The "tls_cipher_suite" option is now a no-op. Modern TLS stacks no longer expose cipher suite selection in a meaningful way, and the option had become misleading
    • A log size of 0 no longer means "unlimited"; it now correctly disables rotation by size
    • A new "tls_prefer_rsa" option has been added to prefer RSA cipher suites during the TLS handshake, useful on systems without hardware AES
    • The IP allow/block plugins now support CIDR ranges in addition to single addresses and prefix matching
    • Forwarding rules now support $RESOLVCONF:<file> to pick up upstream resolvers from a resolv.conf-style file, complementing the existing $DHCP syntax
    • Servers that hit a transient high RTT could previously stay penalized forever and never come back into rotation; their RTT estimate now decays so they can recover
    • Servers are no longer penalized for slow responses when the response is actually being served from the stale cache
    • The HTTP transport now handles Alt-Svc: clear properly and reuses HTTP connections more aggressively
    • The cache TTL is now an explicit, configurable parameter rather than being derived implicitly
    • The ""-resolve"" command now reports incomplete DNSSEC support instead of silently treating partial signatures as a success
    • "jsdelivr is now offered as an alternative source URL for resolver lists, providing more redundancy when the primary mirrors are unreachable
  • boo#1260280: vendored google.golang.org/grpc v1.80.0

  • boo#1265785: vendored golang.org/x/net v0.54.0

  • Update to version 2.1.15

    • Proxy hostnames (when using SOCKS/HTTP proxies) are now pre-resolved using bootstrap resolvers if they are domain names
    • Dynamically reduces timeouts as the connection limit is approached
    • Fixed double-bracketing of IPv6 addresses in DoH stamps
    • Cache statistics are now more accurate by only counting queries that actually participate in caching
    • Multiple IP addresses per hostname are now cached instead of randomly selecting one
  • Update to version 2.1.14

    • Added support for client IP address encryption in logs
  • Update to version 2.1.13

    • Manual configuration reload via SIGHUP is now supported regardless of the hot-reload setting, providing more flexibility for system administrators
    • Fixed a regression in IP prefix matching for allow/block lists that could cause incorrect filtering behavior
    • the generate-domains-blocklist script now handles poor network conditions more gracefully
  • Update to version 2.1.12

    • weighted Power of Two (WP2) load balancing strategy has been implemented as the default
    • optional Prometheus metrics endpoint has been added for monitoring
    • additional records in queries are now properly removed before forwarding
    • simple view UI has been removed
  • Update to version 2.1.11

    • web-based monitoring user interface added
    • configuration files hot-reloading implemented
    • HTTP/3 probing
    • added parallel downloading of block lists
  • Updated to version 2.1.8

    • Dependencies have been updated, notably the QUIC implementation, which could be vulnerable to denial-of-service attacks.
    • In forwarding rules, the target can now optionally include a non-standard DNS port number. The port number is also now optional when using IPv6.
    • An annoying log message related to permissions on Windows has been suppressed.
    • Resolver IP addresses can now be refreshed more frequently. Additionally, jitter has been introduced to prevent all resolvers from being refreshed simultaneously. Further changes have been implemented to mitigate issues arising from multiple concurrent attempts to resolve a resolver's IP address.
    • An empty value for "tls_cipher_suite" is now equivalent to leaving the property undefined.…
Record
openSUSE-RU-2026:21160-1
Updated
2026-11-02
OSVopenSUSE-SU-2024:13570-1 No score

syncthing-1.27.2-1.1 on GA media

These are all security issues fixed in the syncthing-1.27.2-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:13570-1
Updated
2026-11-02
OSVopenSUSE-SU-2025:14626-1 No score

kubo-0.32.1-1.1 on GA media

These are all security issues fixed in the kubo-0.32.1-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2025:14626-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
github.com/quic-go/quic-go
Go
0.40.0 to 0.40.0
0.40.1
github.com/quic-go/quic-go
Go
0.39.0 up to 0.39.4
0.39.4
github.com/quic-go/quic-go
Go
0.38.0 up to 0.38.2
0.38.2
github.com/quic-go/quic-go
Go
before 0.37.7
0.37.7
coredns
Azure Linux:2
before 1.11.1-5
1.11.1-5
coredns
Azure Linux:3
before 1.11.1-2
1.11.1-2
golang-github-lucas-clemente-quic-go
Debian:12
All versions, plus listed versions
0.29.0-10.29.2-10.29.2-20.29.2-30.37.0-1
Show 19 moreShow less
0.37.4-10.37.4-1~bpo12+10.38.2-10.38.2-20.46.0-10.46.0-20.46.0-2~bpo12+10.50.0-10.50.1-10.50.1-20.54.0-10.54.0-20.54.0-30.54.1-10.55.0-10.59.0-10.59.0-20.59.0-2~bpo13+10.64.1-1
None known
golang-github-lucas-clemente-quic-go
Debian:13
before 0.38.2-1
0.38.2-1
golang-github-lucas-clemente-quic-go
Debian:14
before 0.38.2-1
0.38.2-1
github.com/quic-go/quic-go
Go
0.40.0 up to 0.40.1
0.40.1
Show 14 moreShow less
Affected packages
PackageAffectedFixed
github.com/quic-go/quic-go
Go
before 0.37.7, 0.38.0 up to 0.38.2, 0.39.0 up to 0.39.4, 0.40.0 up to 0.40.1
0.37.70.38.20.39.40.40.1
receptor
Red Hat:ansible_automation_platform_developer:2.4::el8
before 0:1.4.4-1.el8ap
0:1.4.4-1.el8ap
receptor
Red Hat:ansible_automation_platform_inside:2.4::el8
before 0:1.4.4-1.el8ap
0:1.4.4-1.el8ap
receptor
Red Hat:ansible_automation_platform:2.4::el8
before 0:1.4.4-1.el8ap
0:1.4.4-1.el8ap
receptor
Red Hat:ansible_automation_platform_developer:2.4::el9
before 0:1.4.4-1.el9ap
0:1.4.4-1.el9ap
receptor
Red Hat:ansible_automation_platform_inside:2.4::el9
before 0:1.4.4-1.el9ap
0:1.4.4-1.el9ap
receptor
Red Hat:ansible_automation_platform:2.4::el9
before 0:1.4.4-1.el9ap
0:1.4.4-1.el9ap
golang-github-lucas-clemente-quic-go
Ubuntu:22.04:LTS
All versions, plus listed versions
0.18.0-30.24.0-10.25.0-1
None known
golang-github-lucas-clemente-quic-go
Ubuntu:24.04:LTS
All versions, plus listed versions
0.37.4-10.38.2-1
None known
golang-github-lucas-clemente-quic-go
Ubuntu:25.10
All versions, plus listed versions
0.50.0-10.50.1-2
None known
golang-github-lucas-clemente-quic-go
Ubuntu:26.10
All versions, plus listed versions
0.59.0-2
None known
golang-github-lucas-clemente-quic-go
Ubuntu:26.04:LTS
All versions, plus listed versions
0.50.1-20.59.0-2
None known
dnscrypt-proxy
openSUSE:Leap 16.0
From an advisory covering 4 CVEs
before 2.1.16-bp160.1.1
2.1.16-bp160.1.1
kubo
openSUSE:Tumbleweed
before 0.32.1-1.1
0.32.1-1.1

History

History
RecordedChangedSources
affected, facts
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2023-49295 is a medium vulnerability (CVSS 6.4) in Quic-go, published January 10, 2024. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.20%, the 68th percentile. Fixed in github.com/quic-go/quic-go 0.40.1.

References

Show 26 moreShow less
This page doesn't list everything

Left out here: the rest of 1 source description. The JSON record has them.

MoveEnter Open