<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 3.3.10) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-fujiwara-dnsop-dns-upper-limit-values-05" category="info" consensus="true" submissionType="IETF" tocDepth="4" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="dns-upper-limit-values">Upper limit values for DNS</title>

    <author initials="K." surname="Fujiwara" fullname="Kazunori Fujiwara">
      <organization abbrev="JPRS">Japan Registry Services Co., Ltd.</organization>
      <address>
        <postal>
          <country>Japan</country>
        </postal>
        <email>fujiwara@wide.ad.jp</email>
      </address>
    </author>
    <author initials="Y." surname="Thessalonikefs" fullname="Yorgos Thessalonikefs">
      <organization abbrev="NLnet Labs">NLnet Labs</organization>
      <address>
        <postal>
          <country>Netherlands</country>
        </postal>
        <email>yorgos@nlnetlabs.nl</email>
      </address>
    </author>

    <date year="2026" month="February" day="10"/>

    <area>operations</area>
    
    <keyword>Internet-Draft</keyword>

    <abstract>


<?line 139?>

<t>DNS was designed to have as few hard upper limits
as possible to allow for future extensibility.
However, the lack of a clear upper limit leads to vulnerabilities,
and several attack methods have been reported.
This document collects upper limit values implemented by DNS software
to avoid vulnerabilities.</t>



    </abstract>



  </front>

  <middle>


<?line 148?>

<section anchor="introduction"><name>Introduction</name>

<t>DNS was designed to have as few upper limits
as possible to allow for future extensibility
described in
the paper "Development of the Domain Name System" <xref target="Mockapetris1988"/>.</t>

<t>If a protocol is implemented without considering the upper limit,
it may become vulnerable to DoS attacks.</t>

<t>There are parameters in the DNS protocol that do not have clear upper limits.
For example, the number of alias levels using CNAME Resource records
and the number of resource records in an RRSet.</t>

<t>This document collects upper limit values implemented by DNS software
to avoid vulnerabilities.</t>

<t>This document is intended to serve as a basis for discussions
that will lead to the creation of a future Best Current Practice document.</t>

</section>
<section anchor="terminology"><name>Terminology</name>

<t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>

<?line -18?>

<t>The specialized terms used in this document are defined in
DNS Terminology <xref target="RFC9499"/>.</t>

<t>Glueless delegation (Gluelessness) is the term used to describe
delegation without glue.</t>

</section>
<section anchor="implemented-upper-limits"><name>Implemented upper limits</name>

<section anchor="packet-size"><name>Packet size</name>

<t>There were comments that there are size limitations
even if no precise upper limits are set.</t>

<t>The DNS packet format has an upper limit of 65535 octets,
so an RRset cannot exceed that size.
Also, the upper limit size of a single resource record is 65535 octets
minus the DNS header size because RDLENGTH is 16 bits.</t>

<t>Section 4.2.1 UDP usage of <xref target="RFC1035"/> limits the UDP message size to 512.</t>

<t>The size of a DNS response that can be sent using unfragmented UDP is
about 1400 octets. <xref target="RFC9715"/></t>

<t><xref target="flagday2020"/> proposed 1232 octets and is used as the default value in most
DNS software.</t>

</section>
<section anchor="dns-response-rate-limiting"><name>DNS Response Rate Limiting</name>

<t><xref target="RFC5358"/> describes DNS Reflector Attacks and how to prevent
the use of default configured recursive nameservers.
Simply preparing a large RRSet can increase the amplification factor
of DNS Reflector Attacks.
Countermeasures for recursive resolvers were described in <xref target="RFC5358"/>,
however, countermeasures for authoritative servers have not been standardized
as an RFC and are implemented in various software as DNS Response Rate Limiting.</t>

</section>
<section anchor="number-of-alias-levels-using-cnamedname"><name>Number of alias levels using CNAME/DNAME</name>

<t>CNAME aliases are widely used; however,
when there are multiple levels of CNAME aliases,
full-service resolvers have to redo the name resolution,
which increases the load.
And more,
each stub resolver that receives a response containing multiple CNAME aliases
must find the final A, AAAA Resource record
that corresponds to the CNAME in each application.</t>

<t>Unbound and BIND 9 introduced the 'max-query-restarts' parameter,
and their default value is 11.</t>

</section>
<section anchor="number-of-resource-records-in-a-rrset"><name>Number of Resource Records in a RRSet</name>

<t>Currently, many web services that use domain names require that
a TXT record containing a token of their choosing be placed
at the zone apex to verify the registrant domain name.
A large enterprise set 74 TXT records at its zone apex.</t>

<t>CVE-2024-1737, "BIND's database will be slow if a very large number of RRs
exist at the same name" was reported, and BIND 9.18.28 implemented the limit.
BIND 9 introduced the 'max-records-per-type' parameter
that limits the number of resource records in an RRSet, and the default value
is 100.</t>

<t>BIND 9 also limits the maximum number of RR types
that can be stored for an owner name with the 'max-types-per-name' parameter
with the default value 100.</t>

<t>Unbound has the 'iter-scrub-ns' parameter that limits the number of RRs
explicitly for the NS RRSet and the default value is 20.</t>

<t>Unbound has the 'iter-scrub-cname' parameter that limits the number of
CNAME/DNAME records in an upstream reply by clipping off the remainder of
the reply. The default value is 11.</t>

</section>
<section anchor="number-of-ns-records-in-a-delegation"><name>Number of NS records in a delegation</name>

<t>Although we could not find a clear explanation,
the upper limit value of the number of name server names
that can be registered for gTLDs and ccTLDs is 13.</t>

</section>
<section anchor="number-of-rrsigsdnskeysdss-in-a-rrset"><name>Number of RRSIGs/DNSKEYs/DSs in a RRSet</name>

<t><xref target="KeyTrap"/> is a vulnerability caused by the fact that there is no upper limit
on the number of DNSKEY, DS, or RRSIG resource records which could result in
CPU exhaustion during DNSSSEC validation attempts.</t>

<t>Unbound introduced, as hard-coded values, the maximum number of RRSIG
validations for an
RRset (MAX_VALIDATE_RRSIGS) as 8, and the maximum allowed digest
match failures per DS, for DNSKEYs with the same properties
(MAX_DS_MATCH_FAILURES) as 8.</t>

<t>BIND 9 limits the number of DNSSEC validations that can happen in a
single fetch/processing a single cache miss with the
'max-validations-per-fetch' parameter with the default value 16.</t>

<t>BIND 9 limits the number of DNSSEC validation failures that can happen
in a single fetch/single cache miss with the
'max-validation-failures-per-fetch' parameter with the default value
1.</t>

</section>
<section anchor="number-of-nsec3-hash-calculations"><name>Number of NSEC3 hash calculations</name>

<t><xref target="NSEC3Vulnerability"/> is a vulnerability that exploits the amount of
NSEC3 hash iterations needed when proving negative responses which could result
in CPU exhaustion during DNSSEC validation attempts.</t>

<t>Unbound introduced, as a hard-coded value, the maximum number of NSEC3 hash
calculations with a default value of 8.</t>

</section>
<section anchor="number-of-outgoing-queries-per-incoming-query"><name>Number of outgoing queries per incoming query</name>

<t>Unbound limits the number of outgoing queries per incoming query with
the 'max-sent-count' parameter with a default value of 32.
This counter is reset on query restarts (e.g., delagation points or
CNAME/DNAME redirections).</t>

<t>Unbound limits the number of outgoing queries per incoming query with
the 'max-global-quota' parameter with a default value of 200.
This counter is not reset on query restarts (e.g., delagation points or
CNAME/DNAME redirections) and it persists on any internal subqueries spawned.</t>

<t>BIND 9 limits the number of iterative queries while servicing a single
recursive query with the 'max-query-count' parameter with a default
value of 200.</t>

<t>BIND 9 limits the number of iterative queries while servicing a
recursive query while looking up a single name
with the 'max-recursion-queries' parameter with the default value 50.
CNAME restarts this counter.</t>

<t>BIND 9 limits the number of levels of recursion permitted at any one
time while servicing a recursive query with the 'max-recursion-depth'
parameter with the default value 7.</t>

<t>BIND 9 limits the total deadline before giving up a single recursive
query with the 'resolver-query-timeout' parameter with the default
value 10 seconds.</t>

</section>
<section anchor="number-of-ns-resolution-queries"><name>Number of NS resolution queries</name>

<t>Unbound limits the number of NS resolution queries needed per incoming query
to a hard-coded value of 64.</t>

<t>Unbound limits the number of NS resolution queries neeeded per delegation
point to a hard-coded value of 16, in response to <xref target="NXNS"/>.</t>

<t>Unbound limits the number of acceptable NXDOMAIN replies for NS queries
(for a query and its subqueries) to a hard-coded value of 5 in response to <xref target="NXNS"/>.</t>

</section>
<section anchor="number-of-delegation-levels-of-glueless-delegations"><name>Number of delegation levels of glueless delegations</name>

<t>Unrelated (or, rarely sibling) name server names are used/required for
DNS hosting services.</t>

<t><xref target="RFC9471"/> states that all in-domain glue records are attached to
the delegation response.
Therefore, using in-domain name server names for DNS delegation
minimizes name resolution costs.</t>

<t>For some domain names, there are multiple layers of dependence
on unrelated name server names when resolving the name.
If information on unrelated name server names is not in the cache,
the recursive resolver must perform A/AAAA name resolution
for the unrelated name server names.
Frequent use of unrelated name server names can cause unstable name resolution.</t>

<t>Furthermore, there are cases where cyclic dependencies in delegation occur,
settings that depend on sibling glue,
and cases where the sibling glue disappears or
some name servers stop responding, making it impossible to resolve names.</t>

<t><xref target="Tsuname2021"/> pointed out attacks and countermeasures that
use increased load due to cyclic dependencies.
Many cyclic delegations are likely due to misconfigurations.</t>

<t><xref target="djbdns"/> allows three levels of gluelessness.</t>

<t>Unbound limits the maximum number of referral responses accepted per resolution
attempt to a hard-coded value of 130.</t>

</section>
</section>
<section anchor="discussions-on-future-upper-limits"><name>Discussions on future upper limits</name>

<t>Evaluation is necessary before setting common upper limit values.
Implementing possible upper limits as configurable parameters
that operators can control is useful.</t>

<t>If we set upper limits on authoritative servers in the future,
errors should be detected on the primary servers.
Secondary servers should not detect errors
because they only receive zone transfers.</t>

</section>
<section anchor="iana"><name>IANA Considerations</name>
<t>This document requests no IANA actions.</t>

</section>
<section anchor="securitycons"><name>Security Considerations</name>

</section>
<section anchor="acknowledgments"><name>Acknowledgments</name>

<t>The authors would like to thank discussions of dnsop WG.</t>

<t>Thanks to Petr Špaček for providing the helpful comments
from an implementor's perspective and the upper limits that BIND 9 implements.</t>

</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">



<reference anchor="RFC2119">
  <front>
    <title>Key words for use in RFCs to Indicate Requirement Levels</title>
    <author fullname="S. Bradner" initials="S." surname="Bradner"/>
    <date month="March" year="1997"/>
    <abstract>
      <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="2119"/>
  <seriesInfo name="DOI" value="10.17487/RFC2119"/>
</reference>
<reference anchor="RFC8174">
  <front>
    <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
    <author fullname="B. Leiba" initials="B." surname="Leiba"/>
    <date month="May" year="2017"/>
    <abstract>
      <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="8174"/>
  <seriesInfo name="DOI" value="10.17487/RFC8174"/>
</reference>
<reference anchor="RFC9499">
  <front>
    <title>DNS Terminology</title>
    <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
    <author fullname="K. Fujiwara" initials="K." surname="Fujiwara"/>
    <date month="March" year="2024"/>
    <abstract>
      <t>The Domain Name System (DNS) is defined in literally dozens of different RFCs. The terminology used by implementers and developers of DNS protocols, and by operators of DNS systems, has changed in the decades since the DNS was first defined. This document gives current definitions for many of the terms used in the DNS in a single document.</t>
      <t>This document updates RFC 2308 by clarifying the definitions of "forwarder" and "QNAME". It obsoletes RFC 8499 by adding multiple terms and clarifications. Comprehensive lists of changed and new definitions can be found in Appendices A and B.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="219"/>
  <seriesInfo name="RFC" value="9499"/>
  <seriesInfo name="DOI" value="10.17487/RFC9499"/>
</reference>
<reference anchor="RFC1035">
  <front>
    <title>Domain names - implementation and specification</title>
    <author fullname="P. Mockapetris" initials="P." surname="Mockapetris"/>
    <date month="November" year="1987"/>
    <abstract>
      <t>This RFC is the revised specification of the protocol and format used in the implementation of the Domain Name System. It obsoletes RFC-883. This memo documents the details of the domain name client - server communication.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="13"/>
  <seriesInfo name="RFC" value="1035"/>
  <seriesInfo name="DOI" value="10.17487/RFC1035"/>
</reference>
<reference anchor="RFC5358">
  <front>
    <title>Preventing Use of Recursive Nameservers in Reflector Attacks</title>
    <author fullname="J. Damas" initials="J." surname="Damas"/>
    <author fullname="F. Neves" initials="F." surname="Neves"/>
    <date month="October" year="2008"/>
    <abstract>
      <t>This document describes ways to prevent the use of default configured recursive nameservers as reflectors in Denial of Service (DoS) attacks. It provides recommended configuration as measures to mitigate the attack. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="140"/>
  <seriesInfo name="RFC" value="5358"/>
  <seriesInfo name="DOI" value="10.17487/RFC5358"/>
</reference>
<reference anchor="RFC9471">
  <front>
    <title>DNS Glue Requirements in Referral Responses</title>
    <author fullname="M. Andrews" initials="M." surname="Andrews"/>
    <author fullname="S. Huque" initials="S." surname="Huque"/>
    <author fullname="P. Wouters" initials="P." surname="Wouters"/>
    <author fullname="D. Wessels" initials="D." surname="Wessels"/>
    <date month="September" year="2023"/>
    <abstract>
      <t>The DNS uses glue records to allow iterative clients to find the addresses of name servers that are contained within a delegated zone. Authoritative servers are expected to return all available glue records for in-domain name servers in a referral response. If message size constraints prevent the inclusion of all glue records for in-domain name servers, the server must set the TC (Truncated) flag to inform the client that the response is incomplete and that the client should use another transport to retrieve the full response. This document updates RFC 1034 to clarify correct server behavior.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9471"/>
  <seriesInfo name="DOI" value="10.17487/RFC9471"/>
</reference>



    </references>

    <references title='Informative References' anchor="sec-informative-references">

<reference anchor="Tsuname2021" >
  <front>
    <title>TsuNAME: exploiting misconfiguration and vulnerability to DDoS DNS</title>
    <author initials="G. M." surname="Moura" fullname="Giovane C. M. Moura">
      <organization>SIDN Labs</organization>
    </author>
    <author initials="" surname="Sebastian Castro" fullname="Sebastian Castro">
      <organization>InternetNZ</organization>
    </author>
    <author initials="" surname="John S Heidemann" fullname="John S. Heidemann">
      <organization>USC/ISI</organization>
    </author>
    <author initials="" surname="Wes Hardaker" fullname="Wes Hardaker">
      <organization>USC/ISI</organization>
    </author>
    <date year="2021"/>
  </front>
  <seriesInfo name="IMC '21: Proceedings of the 21st ACM Internet Measurement Conference" value=""/>
</reference>
<reference anchor="KeyTrap" >
  <front>
    <title>The KeyTrap Denial-of-Service Algorithmic Complexity Attacks on DNS</title>
    <author initials="" surname="Elias Heftrig" fullname="Elias Heftrig">
      <organization>ATHENE</organization>
    </author>
    <author initials="" surname="Haya Schulmann" fullname="Haya Schulmann">
      <organization>ATHENE</organization>
    </author>
    <author initials="" surname="Niklas Vogel" fullname="Niklas Vogel">
      <organization>TU Darmstadt</organization>
    </author>
    <author initials="" surname="Michael Waidner" fullname="Michael Waidner">
      <organization>Fraunhofer SIT</organization>
    </author>
    <date year="2024"/>
  </front>
</reference>
<reference anchor="NSEC3Vulnerability" target="https://www.isc.org/blogs/2024-bind-security-release/#nsec3-closest-encloser-proof-can-exhaust-cpu-cve-2023-50868">
  <front>
    <title>NSEC3 closest encloser proof can exhaust CPU (CVE-2023-50868)</title>
    <author initials="" surname="Petr Špaček" fullname="Petr Špaček">
      <organization>ISC</organization>
    </author>
    <date year="2024"/>
  </front>
</reference>
<reference anchor="NXNS" target="https://dl.acm.org/doi/10.5555/3489212.3489248">
  <front>
    <title>NXNS Attack: Recursive DNS Inefficiencies and Vulnerabilities</title>
    <author initials="" surname="Yehuda Afek" fullname="Yehuda Afek">
      <organization>Tel Aviv University</organization>
    </author>
    <author initials="" surname="Lior Shafir" fullname="Lior Shafir">
      <organization>Tel Aviv University</organization>
    </author>
    <author initials="" surname="Anat Bremler-Barr" fullname="Anat Bremler-Barr">
      <organization>The Interdisciplinary Center</organization>
    </author>
    <date year="2020"/>
  </front>
</reference>
<reference anchor="Mockapetris1988" >
  <front>
    <title>Development of the domain name system</title>
    <author initials="" surname="Paul V Mockapetris" fullname="Paul V. Mockapetris">
      <organization>USC/ISI</organization>
    </author>
    <author initials="" surname="Kevin J Dunlap" fullname="Kevin J. Dunlap">
      <organization>Digital Equipment Corp.</organization>
    </author>
    <date year="1988" month="August"/>
  </front>
  <seriesInfo name="the Proceedings of SIGCOMM 1988" value=""/>
</reference>
<reference anchor="djbdns" target="https://cr.yp.to/djbdns/notes.html">
  <front>
    <title>djbdns: Notes on the Domain Name System</title>
    <author initials="D. J." surname="Bernstein" fullname="Daniel Julius Bernstein">
      <organization>University of ILLINOIS CHICAGO</organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="flagday2020" target="https://www.dnsflagday.net/2020/">
  <front>
    <title>DNS Flag Day 2020</title>
    <author >
      <organization></organization>
    </author>
    <date year="2020"/>
  </front>
</reference>


<reference anchor="RFC9715">
  <front>
    <title>IP Fragmentation Avoidance in DNS over UDP</title>
    <author fullname="K. Fujiwara" initials="K." surname="Fujiwara"/>
    <author fullname="P. Vixie" initials="P." surname="Vixie"/>
    <date month="January" year="2025"/>
    <abstract>
      <t>The widely deployed Extension Mechanisms for DNS (EDNS(0)) feature in the DNS enables a DNS receiver to indicate its received UDP message size capacity, which supports the sending of large UDP responses by a DNS server. Large DNS/UDP messages are more likely to be fragmented, and IP fragmentation has exposed weaknesses in application protocols. It is possible to avoid IP fragmentation in DNS by limiting the response size where possible and signaling the need to upgrade from UDP to TCP transport where necessary. This document describes techniques to avoid IP fragmentation in DNS.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9715"/>
  <seriesInfo name="DOI" value="10.17487/RFC9715"/>
</reference>



    </references>

</references>



  </back>

<!-- ##markdown-source:
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
aSCC8VSNq6tHq5eZxggl4h/3SYGnnTIAAA==

-->

</rfc>

