]> git.ipfire.org Git - thirdparty/glibc.git/commit
resolv: Fix buffer overreads in ns_sprintrrf (CVE-2026-6238)
authorFlorian Weimer <fweimer@redhat.com>
Fri, 19 Jun 2026 16:22:20 +0000 (18:22 +0200)
committerFlorian Weimer <fweimer@redhat.com>
Fri, 19 Jun 2026 16:22:20 +0000 (18:22 +0200)
commita7b60d23bbb56eaef59f4962e4140062e552600a
treefac398a7a0767a842b50170e8c02d1c095ab9892
parentca44a6609c29a683b03575fa035c6d17aa591e72
resolv: Fix buffer overreads in ns_sprintrrf (CVE-2026-6238)

Check that the RDATA payload does not require more than RDATALEN
bytes while processing it.  The fixes cover A6, LOC records.
(CERT, TKEY, TSIG were fixed before, by switching to the generic
formatter.)

The vulnerable LOC record handling was first introduced before
glibc 2.0, in commit ee188d555b8c32ad9704a7440cab400af967292f.

CERT, TSIG, TKEY handling came with commit
b43b13ac2544b11f35be301d1589b51a8473e32b, released with glibc 2.2.

A6 record handling was introduced in commit
91633816430e7ec5a19fe3ff510a7c4822a9557e ("* resolv/ns_print.c
(ns_sprintrrf): Handle ns_t_a6 and ns_t_opt."), which went into glibc
2.7.

This fixes bug 34069.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
resolv/ns_print.c