Skip to content
Heist/ feed
Back to feed
Medium

Security advisory

Type: advisorySources: OSVCVE: CVE-2022-30698

NLnet Labs Unbound, up to and including version 1.16.1 is vulnerable to a novel type of the "ghost domain names" attack. The vulnerability works by targeting an Unbound instance. Unbound is queried for a subdomain of a rogue domain name. The rogue nameserver returns delegation information for the subdomain that updates Unbound's delegation cache. This action can be repeated before expiry of the delegation information by querying Unbound for a second level subdomain which the rogue nameserver provides new delegation information. Since Unbound is a child-centric resolver, the ever-updating child delegation information can keep a rogue domain name resolvable long after revocation. From version 1.16.2 on, Unbound checks the validity of parent delegation records before using cached delegation information.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2022-30698
Confirmed fixed CVEs
Not specified
Updated in this feed
1 Nov 2026, 07:55 UTC · Revision 1

Source evidence

CVE-2022-30698

core-osv · Original source

Published 1 Aug 2022, 15:15 UTC

NLnet Labs Unbound, up to and including version 1.16.1 is vulnerable to a novel type of the "ghost domain names" attack. The vulnerability works by targeting an Unbound instance. Unbound is queried for a subdomain of a rogue domain name. The rogue nameserver returns delegation information for the subdomain that updates Unbound's delegation cache. This action can be repeated before expiry of the delegation information by querying Unbound for a second level subdomain which the rogue nameserver provides new delegation information. Since Unbound is a child-centric resolver, the ever-updating child delegation information can keep a rogue domain name resolvable long after revocation. From version 1.16.2 on, Unbound checks the validity of parent delegation records before using cached delegation information.

osv:CVE-2022-30698
Complete source record
{
  "id": "fb7522e0c14f44f78d57b742fe34cb4344573a0c55c414d42e2cba22d51cf813",
  "url": "https://osv.dev/vulnerability/CVE-2022-30698",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "CVE-2022-30698",
    "summary": "NLnet Labs Unbound, up to and including version 1.16.1 is vulnerable to a novel type of the \"ghost domain names\" attack. The vulnerability works by targeting an Unbound instance. Unbound is queried for a subdomain of a rogue domain name. The rogue nameserver returns delegation information for the subdomain that updates Unbound's delegation cache. This action can be repeated before expiry of the delegation information by querying Unbound for a second level subdomain which the rogue nameserver provides new delegation information. Since Unbound is a child-centric resolver, the ever-updating child delegation information can keep a rogue domain name resolvable long after revocation. From version 1.16.2 on, Unbound checks the validity of parent delegation records before using cached delegation information.",
    "evidence": "osv:CVE-2022-30698",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2022-30698",
      "aliases": [
        "CVE-2022-30698"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/nlnetlabs/unbound",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "cbed768b8ff9bfcf11089a5f1699b7e5707f1ea5"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:nlnetlabs:unbound:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "1.16.2"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "versions": [
            "release-1.16.1rc1",
            "release-1.16.1",
            "release-1.16.0rc1",
            "release-1.16.0",
            "release-1.15.0rc1",
            "release-1.15.0",
            "release-1.14.0rc1",
            "release-1.14.0",
            "release-1.13.2",
            "release-1.13.2rc1",
            "release-1.13.1rc2",
            "release-1.13.1",
            "release-1.13.1rc1",
            "release-1.13.0rc4",
            "release-1.13.0rc3",
            "release-1.13.0rc2",
            "release-1.13.0rc1",
            "release-1.12.0rc1",
            "release-1.12.0",
            "release-1.11.0rc1",
            "release-1.11.0",
            "1.11.0rc1",
            "release-1.10.0rc2",
            "release-1.10.0rc1",
            "release-1.9.6",
            "release-1.9.6rc1",
            "release-1.9.3rc2",
            "release-1.9.3",
            "release-1.9.3rc1",
            "release-1.9.2",
            "release-1.9.2rc3",
            "release-1.9.2rc1",
            "release-1.9.2rc2",
            "final-svn-state",
            "release-1.9.1rc1",
            "release-1.9.0rc1",
            "release-1.8.2rc1",
            "release-1.8.1rc1",
            "release-1.8.0rc1",
            "release-1.7.3rc1",
            "release-1.7.2rc1",
            "release-1.7.1rc1",
            "release-1.7.0rc3",
            "release-1.7.0rc2",
            "release-1.7.0rc1",
            "release-1.6.7",
            "release-1.6.7rc1",
            "release-1.6.6rc2",
            "release-1.6.6rc1",
            "release-1.6.4rc2",
            "release-1.6.4rc1",
            "release-1.6.2rc1",
            "release-1.6.1rc3",
            "release-1.6.1rc2",
            "release-1.6.1rc1",
            "release-1.6.0rc1",
            "release-1.5.10rc1",
            "release-1.5.10",
            "release-1.5.9rc1",
            "release-1.5.8rc1",
            "release-1.5.8",
            "release-1.5.7",
            "release-1.5.6",
            "release-1.5.6rc1",
            "release-1.5.5",
            "release-1.5.5rc1",
            "release-1.5.4rc1",
            "release-1.5.4",
            "release-1.5.3rc1",
            "release-1.5.2",
            "release-1.5.2rc1",
            "release-1.5.1",
            "release-1.5.1rc2",
            "release-1.5.1rc1",
            "release-1.5.0rc1",
            "release-1.4.22",
            "release-1.4.22rc1",
            "release-1.4.20",
            "release-1.4.19",
            "release-1.4.19rc1",
            "release-1.4.18rc2",
            "release-1.4.18rc1",
            "release-1.4.17",
            "release-1.4.17rc1",
            "release-1.4.14",
            "release-1.4.14rc1",
            "release-1.4.13",
            "release-1.4.13rc2",
            "release-1.4.13rc1",
            "release-1.4.12rc1",
            "release-1.4.11rc3",
            "release-1.4.11",
            "release-1.4.11rc2",
            "release-1.4.11rc1",
            "release-1.4.9",
            "release-1.4.9rc1",
            "release-1.4.8rc1",
            "release-1.4.7",
            "release-1.4.7rc1",
            "release-1.4.6",
            "release-1.4.6rc1",
            "release-1.4.5",
            "release-1.4.5rc1",
            "release-1.4.4",
            "release-1.4.4rc1",
            "release-1.4.3",
            "release-1.4.2",
            "release-1.4.1",
            "release-1.4.0",
            "release-1.4.0rc1",
            "release-1.3.3",
            "release-1.3.3rc1",
            "release-1.3.2",
            "release-1.3.1",
            "release-1.1.1",
            "release-1.0.1",
            "release-0.11",
            "release-0.10",
            "release-0.8",
            "release-0.7",
            "release-0.6",
            "release-0.5",
            "release-0.4",
            "release-0.3",
            "release-0.1",
            "release-0.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2022-30698.json"
          }
        }
      ],
      "modified": "2026-10-24T10:31:00.423311700Z",
      "provider": "osv",
      "references": [
        "https://lists.debian.org/debian-lts-announce/2023/03/msg00024.html",
        "https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/5L3ZFWZZFPBIL654BG75RWXUMPFQJ5EC/",
        "https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/D35CX4SCZVNKZTWJXPDFTHWZHINMGEZD/",
        "https://security.gentoo.org/glsa/202212-02",
        "https://www.nlnetlabs.nl/downloads/unbound/CVE-2022-30698_CVE-2022-30699.txt"
      ],
      "provider_metadata": {
        "unresolved_ranges": [
          {
            "cpes": [
              "cpe:2.3:o:fedoraproject:fedora:35:*:*:*:*:*:*:*",
              "cpe:2.3:o:fedoraproject:fedora:36:*:*:*:*:*:*:*"
            ],
            "vendor_product": "fedoraproject:fedora",
            "extracted_events": [
              {
                "range": [
                  {
                    "introduced": "35"
                  },
                  {
                    "last_affected": "35"
                  },
                  {
                    "introduced": "36"
                  },
                  {
                    "last_affected": "36"
                  }
                ],
                "source": "CPE_STRING"
              }
            ]
          }
        ]
      }
    },
    "related_cves": [
      {
        "value": "CVE-2022-30698",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 439540,
  "published_at": "2022-08-01T15:15:09.84+00:00"
}