bind9/lib/dns/include
Ondřej Surý 51dde6ef43
Fix GSS-API context leak in TKEY negotiation
Reject multi-round GSS-API negotiation (GSS_S_CONTINUE_NEEDED) in
dst_gssapi_acceptctx().  Each call to gss_accept_sec_context()
allocates a context inside the GSS library; without this fix, the
context handle was passed back to process_gsstkey() which did not
store it persistently, leaking it on every incomplete negotiation.

An unauthenticated attacker could exhaust server memory by sending
repeated TKEY queries with GSSAPI tokens, each leaking one GSS
context.  The leaked memory is allocated by the GSS library via
malloc(), bypassing BIND's memory accounting.

In practice, Kerberos/SPNEGO (the only mechanism used with BIND)
completes in a single round, so rejecting continuation does not
affect real-world deployments.  See RFC 3645 Section 4.1.3.
2026-05-07 13:32:15 +02:00
..
dns Limit the number of addresses returned per ADB find 2026-05-07 13:32:15 +02:00
dst Fix GSS-API context leak in TKEY negotiation 2026-05-07 13:32:15 +02:00
irs Remove C++ support from the public header 2024-12-18 13:10:39 +01:00
.clang-format Add separate .clang-format files for headers 2020-02-14 09:31:05 +01:00
meson.build replace the build system with meson 2025-06-11 10:30:12 +03:00