<?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.43 (Ruby 3.3.12) -->


<!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-06" 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="November" day="02"/>

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

    <abstract>


<?line 151?>

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

<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-pointer-hops-when-decompressing"><name>Number of pointer hops when decompressing</name>

<t>DNS compression is used in some RR types to reduce the packet size.
DNS software needs to follow decompression pointers to construct the final
name.
This could result in infinite loops or increased load when trying to
decompress.</t>

<t>Unbound has a hard-coded value of 256 for pointer hops when trying to
decompress a name.</t>

<t>Unbound has a hard-coded value of 2048 for the aggregate pointer hops for
decompression per packet.</t>

<t>Unbound has a hard-coded value of 128000 for the aggregate pointer hops for
decompression per XFR packet.</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>

<t>Unbound has a hard-coded value of 100 to limit the number of EDNS options
to parse.</t>

<t>Unbound has a hard-coded value of 24 to limit the number of RRSets to validate
for QTYPE ANY replies.</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><xref target="ReTrap"/> is a follow-up family of vulnerabilities that lead to degradation of
service as a result of heavy CPU usage from yet limitless operations during
DNSSEC validation.</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>Unbound has the 'iter-scrub-rrsig' parameter that limits the number of RRSIGs
per RRSet in an upstream reply by clipping off the remainder of the RRSIGs.
The default value is 8.</t>

<t>Unbound has the 'val-validation-attempts' parameter to limit the total number of
RRSIG validation attempts per query with a default value of 32.</t>

<t>Unbound has the 'val-hash-attempts' to limit the total number of
DNSKEY hash attempts per query with a default value of 32.</t>

<t>Unbound has a hard-coded value of 256 to limit the total number of matches
for DNSKEY tags and algorithms</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="length-of-nsec3-salt"><name>Length of NSEC3 salt</name>

<t>In response to computational attacks, Unbound limits the length of an NSEC3
salt to 64 with a hard-coded value.
The current BCP is for the length to be 0.</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="ReTrap" >
  <front>
    <title>ReTrap: Multiple Novel Vulnerabilities to launch Algorithmic Complexity Attacks on DNSSEC</title>
    <author initials="" surname="Zuyao Xu" fullname="Zuyao Xu">
      <organization>Nankai University, AOSP Lab</organization>
    </author>
    <author initials="" surname="Xiang Li" fullname="Xiang Li">
      <organization>Nankai University, AOSP Lab</organization>
    </author>
    <date year="n.d."/>
  </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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
gJWvlndsp3Al4v8BFzqEwW46AAA=

-->

</rfc>

