Skip to content
OpenAdvisories
Medium · 5.9 CVE-2026-55991 EUVD-2026-47683GHSA-j6hj-wvx2-8wqp

Remote DNS-over-QUIC (DoQ) flow-control assertion failure in libngtcp2

Published Jul 22, 2026 · Updated Sep 16, 2026 · Assigned by NLnet Labs

Description

In NLnet Labs Unbound 1.22.0 up to and including 1.25.1, a remote unauthenticated client can trigger a libngtcp2 assertion (if compiled with assertions on) and terminate the entire Unbound process using a single DNS-over-QUIC (DoQ) connection and one normal DNS query. This is caused by an erroneous error value passed to libngtcp2. When 'ngtcp2_conn_writev_stream()' returns 'NGTCP2_ERR_STREAM_DATA_BLOCKED', Unbound continues to call 'ngtcp2_ccerr_set_application_error()' with a '-1' error value. The 'int' literal '-1' is implicitly converted to the function's 'uint64_t error_code' parameter as '0xFFFFFFFFFFFFFFFF'. The follow-on 'ngtcp2_conn_write_connection_close()' serialises that value as a QUIC variable-length integer; because '2^64-1' exceeds the 62-bit varint ceiling, 'ngtcp2_put_uvarintlen()' fails 'assert(n < 4611686018427387904ULL)' and the whole resolver process aborts. A remote, unauthenticated DoQ client can trigger this deterministically with a single QUIC connection by advertising 'initial_max_stream_data_bidi_local = 1' in its transport parameters and sending one DoQ query without ever reading the stream.

Affected products

VendorProductAffectedFixed
NLnet Labs Unbound 1.22.0 – < 1.25.2 1.25.2

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 unbound 1.25.2-1 —
Debian 13 unbound 1.26.1-0+deb13u1 —
ReleasePackageFixed inAdvisory
Ubuntu 26.10 unbound No fix yet —
Ubuntu 26.04 LTS unbound No fix yet —
Ubuntu 24.04 LTS unbound No fix yet —
Ubuntu 22.04 LTS unbound No fix yet —
Show 4 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu Pro 20.04 LTS unbound No fix yet —
Ubuntu Pro 18.04 LTS unbound No fix yet —
Ubuntu Pro 16.04 LTS unbound No fix yet —
Ubuntu Pro 14.04 LTS unbound No fix yet —
ReleasePackageFixed inAdvisory
Red Hat Hardened Images 1 unbound +7 1.25.2-0.1.hum1 RHSA-2026:43588
ReleasePackageFixed inAdvisory
SLES for SAP 16.0 unbound 1.25.2-160000.1.1 SUSE-SU-2026:23226-1, SUSE-SU-2026:23215-1
SLES 16.0 unbound 1.25.2-160000.1.1 SUSE-SU-2026:23226-1, SUSE-SU-2026:23215-1
SLE Micro 6.2 unbound 1.25.2-160000.1.1 SUSE-SU-2026:23050-1
Show 2 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLE Micro 6.1 unbound 1.25.2-slfo.1.1_1.1 SUSE-SU-2026:23349-1
SLE Micro 6.0 unbound 1.25.2-1.1 SUSE-SU-2026:23360-1
ReleasePackageFixed inAdvisory
openSUSE Tumbleweed unbound 1.25.2-1.1 openSUSE-SU-2026:11380-1
openSUSE Leap 16.0 unbound 1.25.2-160000.1.1 openSUSE-SU-2026:21550-1

Azure Linux

ReleasePackageFixed inAdvisory
Azure Linux 3 unbound 1.25.2-1 —

Advisories 10

References