<?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.9) -->


<!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-04" 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="2025" month="October" day="17"/>

    <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>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>

</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>

</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>


  </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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
9SwAAA==

-->

</rfc>

