{
    "file_item": {
        "filepath": "security-advisories",
        "filename": "CERT-EU-SA2023-041.pdf"
    },
    "title": "Multiple Vulnerabilities in BIND 9 DNS System",
    "serial_number": "2023-041",
    "publish_date": "26-06-2023 07:46:43",
    "description": "On June 22, The Internet Systems Consortium (ISC) has released security advisories that address high severity vulnerabilities affecting multiple versions of the ISC\u2019s Berkeley Internet Name Domain (BIND) 9. A remote attacker could exploit these vulnerabilities to potentially cause denial-of-service conditions.<br>\n",
    "url_title": "2023-041",
    "content_markdown": "---\ntitle: 'Multiple Vulnerabilities in\u00a0BIND\u00a09\u00a0DNS\u00a0System' \nversion: '1.0' \nnumber: '2023-041'\noriginal_date: 'June 22, 2023'\ndate: 'June 26, 2023'\n---\n\n_History:_\n\n* _26/06/2023 --- v1.0 -- Initial publication_\n\n# Summary\n\nOn June 22, The Internet Systems Consortium (ISC) has released security advisories that address high severity vulnerabilities affecting multiple versions of the ISC\u2019s Berkeley Internet Name Domain (BIND) 9. A remote attacker could exploit these vulnerabilities to potentially cause denial-of-service conditions [1].\n\n# Technical Details\n\n## `CVE-2023-2828` (CVSSv3 base score of 7.5) \n\nEvery _named_ instance configured to run as a recursive resolver maintains a cache database holding the responses to the queries it has recently sent to authoritative servers. The size limit for that cache database can be configured using the _max-cache-size_ statement in the configuration file; it defaults to 90% of the total amount of memory available on the host. When the size of the cache reaches 7/8 of the configured limit, a cache-cleaning algorithm starts to remove expired and/or least-recently used RRsets from the cache, to keep memory use below the configured limit.\n\nIt has been discovered that the effectiveness of the cache-cleaning algorithm used in _named_ can be severely diminished by querying the resolver for specific RRsets in a certain order, effectively allowing the configured _max-cache-size_ limit to be significantly exceeded. By exploiting this flaw, an attacker can cause the amount of memory used by a _named_ resolver to go well beyond the configured _max-cache-size_ limit [2].\n\n## `CVE-2023-2829` (CVSSv3 base score of 7.5)\n\nA _named_ instance configured to run as a DNSSEC-validating recursive resolver with the Aggressive Use of DNSSEC-Validated Cache (RFC 8198) option (_synth-from-dnssec_) enabled can be remotely terminated using a zone with a malformed NSEC record. By sending specific queries to the resolver, an attacker can cause named to terminate unexpectedly [3].\n\n## `CVE-2023-2911` (CVSSv3 base score of 7.5)\n\nIf the _recursive-clients_ quota is reached on a BIND 9 resolver configured with both _stale-answer-enable yes;_ and _stale-answer-client-timeout 0;_, a sequence of serve-stale-related lookups could cause _named_ to loop and terminate unexpectedly due to a stack overflow. By sending specific queries to the resolver, an attacker can cause _named_ to terminate unexpectedly [4].\n\nISC is not aware of any active exploits related to the aforementioned vulnerabilities [2,3,4].\n\n# Affected Products\n\n## `CVE-2023-2828` \n\nBIND [2]:\n\n- 9.11.0 -> 9.16.41\n- 9.18.0 -> 9.18.15\n- 9.19.0 -> 9.19.13\n\nBIND Supported Preview Edition (a special feature preview branch of BIND provided to eligible ISC support customers) [2]:\n\n- 9.11.3-S1 -> 9.16.41-S1\n- 9.18.11-S1 -> 9.18.15-S1\n\nVersions prior to 9.11.37 & 9.11.37-S1 were not assessed, but we believe that all versions of BIND 9.11 are vulnerable. Some even older major branches may be vulnerable as well [2].\n\n## `CVE-2023-2829`\n\nBIND Supported Preview Edition [3]:\n\n- 9.16.8-S1 -> 9.16.41-S1\n- 9.18.11-S1 -> 9.18.15-S1\n\n## `CVE-2023-2911`\n\nBIND [4]:\n\n- 9.16.33 -> 9.16.41\n- 9.18.7 -> 9.18.15\n\nBIND Supported Preview Edition [4]:\n\n- 9.16.33-S1 -> 9.16.41-S1\n- 9.18.11-S1 -> 9.18.15-S1\n\nBIND 9.11-S versions that support the stale-answer-client-timeout option are not vulnerable[4].\n\n\n# Recommendations\n\nCERT-EU highly recommends update the system to most closely related to your current version of BIND 9:\n\nBIND [2,3,4]:\n\n- 9.16.42\n- 9.18.16\n- 9.19.14\n\nBIND Supported Preview Edition [2,3,4]:\n\n- 9.16.42-S1\n- 9.18.16-S1\n\n\n## Workarounds\n\n- `CVE-2023-2828` - No workarounds known [2].\n\n- `CVE-2023-2829` - Setting _synth-from-dnssec_ to _no_ prevents the problem [3].\n\n- `CVE-2023-2911` - Setting _stale-answer-client-timeout_ to _off_ or to a non-zero value prevents the issue.\nUsers of versions 9.18.10, 9.16.36, 9.16.36-S1 or older who are unable to upgrade should set _stale-answer-client-timeout_ to _off_; using a non-zero value with these older versions leaves _named_ vulnerable to CVE-2022-3924. Although it is possible to set the _recursive-clients_ limit to a high number to reduce the likelihood of this scenario, this is not recommended; the limit on _recursive-clients_ is important for preventing exhaustion of server resources. The limit cannot be disabled entirely [4].\n\n# References\n\n[1] <https://www.cisa.gov/news-events/alerts/2023/06/22/isc-releases-security-advisories-multiple-versions-bind-9>\n\n[2] <https://kb.isc.org/v1/docs/cve-2023-2828>\n\n[3] <https://kb.isc.org/v1/docs/cve-2023-2829>\n\n[4] <https://kb.isc.org/v1/docs/cve-2023-2911>\n",
    "content_html": "<p><em>History:</em></p><ul><li><em>26/06/2023 --- v1.0 -- Initial publication</em></li></ul><h2 id=\"summary\">Summary</h2><p>On June 22, The Internet Systems Consortium (ISC) has released security advisories that address high severity vulnerabilities affecting multiple versions of the ISC\u2019s Berkeley Internet Name Domain (BIND) 9. A remote attacker could exploit these vulnerabilities to potentially cause denial-of-service conditions [1].</p><h2 id=\"technical-details\">Technical Details</h2><h3 id=\"cve-2023-2828-cvssv3-base-score-of-75\"><code>CVE-2023-2828</code> (CVSSv3 base score of 7.5)</h3><p>Every <em>named</em> instance configured to run as a recursive resolver maintains a cache database holding the responses to the queries it has recently sent to authoritative servers. The size limit for that cache database can be configured using the <em>max-cache-size</em> statement in the configuration file; it defaults to 90% of the total amount of memory available on the host. When the size of the cache reaches 7/8 of the configured limit, a cache-cleaning algorithm starts to remove expired and/or least-recently used RRsets from the cache, to keep memory use below the configured limit.</p><p>It has been discovered that the effectiveness of the cache-cleaning algorithm used in <em>named</em> can be severely diminished by querying the resolver for specific RRsets in a certain order, effectively allowing the configured <em>max-cache-size</em> limit to be significantly exceeded. By exploiting this flaw, an attacker can cause the amount of memory used by a <em>named</em> resolver to go well beyond the configured <em>max-cache-size</em> limit [2].</p><h3 id=\"cve-2023-2829-cvssv3-base-score-of-75\"><code>CVE-2023-2829</code> (CVSSv3 base score of 7.5)</h3><p>A <em>named</em> instance configured to run as a DNSSEC-validating recursive resolver with the Aggressive Use of DNSSEC-Validated Cache (RFC 8198) option (<em>synth-from-dnssec</em>) enabled can be remotely terminated using a zone with a malformed NSEC record. By sending specific queries to the resolver, an attacker can cause named to terminate unexpectedly [3].</p><h3 id=\"cve-2023-2911-cvssv3-base-score-of-75\"><code>CVE-2023-2911</code> (CVSSv3 base score of 7.5)</h3><p>If the <em>recursive-clients</em> quota is reached on a BIND 9 resolver configured with both <em>stale-answer-enable yes;</em> and <em>stale-answer-client-timeout 0;</em>, a sequence of serve-stale-related lookups could cause <em>named</em> to loop and terminate unexpectedly due to a stack overflow. By sending specific queries to the resolver, an attacker can cause <em>named</em> to terminate unexpectedly [4].</p><p>ISC is not aware of any active exploits related to the aforementioned vulnerabilities [2,3,4].</p><h2 id=\"affected-products\">Affected Products</h2><h3 id=\"cve-2023-2828\"><code>CVE-2023-2828</code></h3><p>BIND [2]:</p><ul><li>9.11.0 -> 9.16.41</li><li>9.18.0 -> 9.18.15</li><li>9.19.0 -> 9.19.13</li></ul><p>BIND Supported Preview Edition (a special feature preview branch of BIND provided to eligible ISC support customers) [2]:</p><ul><li>9.11.3-S1 -> 9.16.41-S1</li><li>9.18.11-S1 -> 9.18.15-S1</li></ul><p>Versions prior to 9.11.37 &amp; 9.11.37-S1 were not assessed, but we believe that all versions of BIND 9.11 are vulnerable. Some even older major branches may be vulnerable as well [2].</p><h3 id=\"cve-2023-2829\"><code>CVE-2023-2829</code></h3><p>BIND Supported Preview Edition [3]:</p><ul><li>9.16.8-S1 -> 9.16.41-S1</li><li>9.18.11-S1 -> 9.18.15-S1</li></ul><h3 id=\"cve-2023-2911\"><code>CVE-2023-2911</code></h3><p>BIND [4]:</p><ul><li>9.16.33 -> 9.16.41</li><li>9.18.7 -> 9.18.15</li></ul><p>BIND Supported Preview Edition [4]:</p><ul><li>9.16.33-S1 -> 9.16.41-S1</li><li>9.18.11-S1 -> 9.18.15-S1</li></ul><p>BIND 9.11-S versions that support the stale-answer-client-timeout option are not vulnerable[4].</p><h2 id=\"recommendations\">Recommendations</h2><p>CERT-EU highly recommends update the system to most closely related to your current version of BIND 9:</p><p>BIND [2,3,4]:</p><ul><li>9.16.42</li><li>9.18.16</li><li>9.19.14</li></ul><p>BIND Supported Preview Edition [2,3,4]:</p><ul><li>9.16.42-S1</li><li>9.18.16-S1</li></ul><h3 id=\"workarounds\">Workarounds</h3><ul><li><p><code>CVE-2023-2828</code> - No workarounds known [2].</p></li><li><p><code>CVE-2023-2829</code> - Setting <em>synth-from-dnssec</em> to <em>no</em> prevents the problem [3].</p></li><li><p><code>CVE-2023-2911</code> - Setting <em>stale-answer-client-timeout</em> to <em>off</em> or to a non-zero value prevents the issue. Users of versions 9.18.10, 9.16.36, 9.16.36-S1 or older who are unable to upgrade should set <em>stale-answer-client-timeout</em> to <em>off</em>; using a non-zero value with these older versions leaves <em>named</em> vulnerable to CVE-2022-3924. Although it is possible to set the <em>recursive-clients</em> limit to a high number to reduce the likelihood of this scenario, this is not recommended; the limit on <em>recursive-clients</em> is important for preventing exhaustion of server resources. The limit cannot be disabled entirely [4].</p></li></ul><h2 id=\"references\">References</h2><p>[1] <a rel=\"noopener\" target=\"_blank\" href=\"https://www.cisa.gov/news-events/alerts/2023/06/22/isc-releases-security-advisories-multiple-versions-bind-9\">https://www.cisa.gov/news-events/alerts/2023/06/22/isc-releases-security-advisories-multiple-versions-bind-9</a></p><p>[2] <a rel=\"noopener\" target=\"_blank\" href=\"https://kb.isc.org/v1/docs/cve-2023-2828\">https://kb.isc.org/v1/docs/cve-2023-2828</a></p><p>[3] <a rel=\"noopener\" target=\"_blank\" href=\"https://kb.isc.org/v1/docs/cve-2023-2829\">https://kb.isc.org/v1/docs/cve-2023-2829</a></p><p>[4] <a rel=\"noopener\" target=\"_blank\" href=\"https://kb.isc.org/v1/docs/cve-2023-2911\">https://kb.isc.org/v1/docs/cve-2023-2911</a></p>",
    "licence": {
        "title": "Creative Commons Attribution 4.0 International (CC-BY 4.0)",
        "link": "https://creativecommons.org/licenses/by/4.0/",
        "restrictions": "https://cert.europa.eu/legal-notice",
        "author": "The Cybersecurity Service for the Union institutions, bodies, offices and agencies"
    }
}