<?xml version="1.0" encoding="UTF-8"?>
<cvrfdoc xmlns="http://www.icasi.org/CVRF/schema/cvrf/1.1" xmlns:cvrf="http://www.icasi.org/CVRF/schema/cvrf/1.1">
	<DocumentTitle xml:lang="en">An update for unbound is now available for openEuler-24.03-LTS-SP1</DocumentTitle>
	<DocumentType>Security Advisory</DocumentType>
	<DocumentPublisher Type="Vendor">
		<ContactDetails>openeuler-security@openeuler.org</ContactDetails>
		<IssuingAuthority>openEuler security committee</IssuingAuthority>
	</DocumentPublisher>
	<DocumentTracking>
		<Identification>
			<ID>openEuler-SA-2026-3434</ID>
		</Identification>
		<Status>Final</Status>
		<Version>1.0</Version>
		<RevisionHistory>
			<Revision>
				<Number>1.0</Number>
				<Date>2026-08-20</Date>
				<Description>Initial</Description>
			</Revision>
		</RevisionHistory>
		<InitialReleaseDate>2026-08-20</InitialReleaseDate>
		<CurrentReleaseDate>2026-08-20</CurrentReleaseDate>
		<Generator>
			<Engine>openEuler SA Tool V1.0</Engine>
			<Date>2026-08-20</Date>
		</Generator>
	</DocumentTracking>
	<DocumentNotes>
		<Note Title="Synopsis" Type="General" Ordinal="1" xml:lang="en">unbound security update</Note>
		<Note Title="Summary" Type="General" Ordinal="2" xml:lang="en">An update for unbound is now available for openEuler-24.03-LTS-SP1</Note>
		<Note Title="Description" Type="General" Ordinal="3" xml:lang="en">Unbound is a validating, recursive, caching DNS resolver. It is designed to be fast and lean and incorporates modern features based on open standards. To help increase online privacy, Unbound supports DNS-over-TLS which allows clients to encrypt their communication. Unbound is available for most platforms such as FreeBSD, OpenBSD, NetBSD, MacOS, Linux and Microsoft Windows. Unbound is a totally free, open source software under the BSD license. It doesn&amp;apos;t make custom builds or provide specific features to paying customers only.

Security Fix(es):

In NLnet Labs Unbound 1.16.2 up to and including 1.25.1, a similar vulnerability as with CVE-2026-40622 in the &apos;ghost domain names&apos; family of attacks was found in Unbound that could extend the ghost domain window by up to one cached TTL configured value for A/AAAA glue records. Similar to other &apos;ghost domain names&apos; attacks, an adversary needs to control a (ghost) zone and be able to query a vulnerable Unbound. A single client A/AAAA query can cause Unbound to overwrite the cached expired parent-side glue rrset and essentially extend the ghost domain window by up to one cached TTL configured value (&apos;cache-max-ttl&apos;). In configurations where &apos;harden-referral-path: yes&apos; is used (non-default configuration), no client query is required since Unbound implicitly performs that query. This is a variant of CVE-2026-40622 which only addressed the NS query.(CVE-2026-42955)

In NLnet Labs Unbound 1.13.2 up to and including 1.25.1, stub or forward zones where the name is below an intermediate labed below a DNSSEC signed zone could be shadowed by the intermediate label&apos;s secure NXDOMAIN answer from the parent. This is caused by an off-by-one error in &apos;harden-below-nxdomain&apos; logic; enabled by default. It effectively bypasses the configuration and the configured stub/forward zone is never contacted. &apos;harden-below-nxdomain&apos; does an upward DNS cache walk together with a delegation point guard that does not allow NXDOMAIN synthesis above stub/forward zones. The guard tests the domain name but before stripping a label. This results in an iteration where the domain name equals the configured stub/forward zone apex that passes the guard, strips one more label, and probes the cache at the apex&apos;s immediate public parent. If that parent has a cached DNSSEC-secure NXDOMAIN, which it will for any private namespace nested two or more labels under a signed public name, the walk returns it and the configured stub/forward upstream is never contacted. This can only be triggered by the query for the intermediate label (between the stub/forward apex and the DNSSEC parent zone).(CVE-2026-44687)

In NLnet Labs Unbound 1.15.0 up to and including 1.25.1, the TLS server name used for DNS-over-TLS (DoT) forwarded queries is tied to a struct&apos;s (&apos;serviced_query&apos;) lifetime but also referenced by another struct (&apos;waiting_tcp&apos;). When the owning struct is jostled out of the mesh while the DoT TCP stream is still handshaking it frees the storage behind the referenced string and if the TLS stream then errors out, it dereferences the freed pointer. The dereference is read-only and the practical impact is a daemon crash resulting in denial of service. A malicious actor that knows a DoT forwarding/stub Unbound&apos;s configuration could exploit the vulnerability by quering records in the appropriate zone while keeping Unbound uder pressure so that the jostle logic kicks in. If answers for the vulnerable zone are slow, the likelihood of jostling such queries is higher, although the timing of the jostle needs to be precise. Requirements for a vulnerable Unbound is the existence of a stub/forward zone configured for DoT together with a configured &apos;#authname&apos; suffix on the server identification. The connectivity to the server needs to exhibit a transient failure at the correct time in order to kick off the vulnerable error path.(CVE-2026-50046)

In NLnet Labs Unbound 1.20.0 up to and including 1.25.1, when Unbound is configured with &apos;serve-expired: yes&apos; and &apos;serve-expired-client-timeout &gt; discard-timeout &gt; 0&apos; (contrary to the suggested values), the discard-timeout branch during the serve expired logic drops an aged client reply without performing the correct accounting for the number of reply addresses for the query. Other identical branches outside of serve expired perform the correct decrement. Since the counter is never decremented in such scenario, it can reach the maximum limit and new clients for duplicate in-flight queries are silently dropped resulting in degradation of resolution service. A malicious actor can exploit the vulnerability by querying the resolver for a client-controlled slow-on-demand authoritative zone that can drive the counter past the threshold. Shipped defaults for &apos;serve-expired-client-timeout: 1800&apos; and &apos;discard-timeout: 1900&apos; make the branch unreachable.(CVE-2026-56444)</Note>
		<Note Title="Topic" Type="General" Ordinal="4" xml:lang="en">An update for unbound is now available for openEuler-24.03-LTS-SP1.

openEuler Security has rated this update as having a security impact of low. A Common Vunlnerability Scoring System(CVSS)base score,which gives a detailed severity rating, is available for each vulnerability from the CVElink(s) in the References section.</Note>
		<Note Title="Severity" Type="General" Ordinal="5" xml:lang="en">Low</Note>
		<Note Title="Affected Component" Type="General" Ordinal="6" xml:lang="en">unbound</Note>
	</DocumentNotes>
	<DocumentReferences>
		<Reference Type="Self">
			<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-3434</URL>
		</Reference>
		<Reference Type="openEuler CVE">
			<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2026-42955</URL>
			<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2026-44687</URL>
			<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2026-50046</URL>
			<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2026-56444</URL>
		</Reference>
		<Reference Type="Other">
			<URL>https://nvd.nist.gov/vuln/detail/CVE-2026-42955</URL>
			<URL>https://nvd.nist.gov/vuln/detail/CVE-2026-44687</URL>
			<URL>https://nvd.nist.gov/vuln/detail/CVE-2026-50046</URL>
			<URL>https://nvd.nist.gov/vuln/detail/CVE-2026-56444</URL>
		</Reference>
	</DocumentReferences>
	<ProductTree xmlns="http://www.icasi.org/CVRF/schema/prod/1.1">
		<Branch Type="Product Name" Name="openEuler">
			<FullProductName ProductID="openEuler-24.03-LTS-SP1" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP1">openEuler-24.03-LTS-SP1</FullProductName>
		</Branch>
		<Branch Type="Package Arch" Name="src">
			<FullProductName ProductID="unbound-1.17.1-20" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP1">unbound-1.17.1-20.oe2403sp1.src.rpm</FullProductName>
		</Branch>
		<Branch Type="Package Arch" Name="aarch64">
			<FullProductName ProductID="python3-unbound-1.17.1-20" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP1">python3-unbound-1.17.1-20.oe2403sp1.aarch64.rpm</FullProductName>
			<FullProductName ProductID="unbound-1.17.1-20" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP1">unbound-1.17.1-20.oe2403sp1.aarch64.rpm</FullProductName>
			<FullProductName ProductID="unbound-anchor-1.17.1-20" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP1">unbound-anchor-1.17.1-20.oe2403sp1.aarch64.rpm</FullProductName>
			<FullProductName ProductID="unbound-debuginfo-1.17.1-20" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP1">unbound-debuginfo-1.17.1-20.oe2403sp1.aarch64.rpm</FullProductName>
			<FullProductName ProductID="unbound-debugsource-1.17.1-20" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP1">unbound-debugsource-1.17.1-20.oe2403sp1.aarch64.rpm</FullProductName>
			<FullProductName ProductID="unbound-devel-1.17.1-20" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP1">unbound-devel-1.17.1-20.oe2403sp1.aarch64.rpm</FullProductName>
			<FullProductName ProductID="unbound-help-1.17.1-20" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP1">unbound-help-1.17.1-20.oe2403sp1.aarch64.rpm</FullProductName>
			<FullProductName ProductID="unbound-libs-1.17.1-20" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP1">unbound-libs-1.17.1-20.oe2403sp1.aarch64.rpm</FullProductName>
			<FullProductName ProductID="unbound-utils-1.17.1-20" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP1">unbound-utils-1.17.1-20.oe2403sp1.aarch64.rpm</FullProductName>
		</Branch>
		<Branch Type="Package Arch" Name="x86_64">
			<FullProductName ProductID="python3-unbound-1.17.1-20" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP1">python3-unbound-1.17.1-20.oe2403sp1.x86_64.rpm</FullProductName>
			<FullProductName ProductID="unbound-1.17.1-20" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP1">unbound-1.17.1-20.oe2403sp1.x86_64.rpm</FullProductName>
			<FullProductName ProductID="unbound-anchor-1.17.1-20" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP1">unbound-anchor-1.17.1-20.oe2403sp1.x86_64.rpm</FullProductName>
			<FullProductName ProductID="unbound-debuginfo-1.17.1-20" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP1">unbound-debuginfo-1.17.1-20.oe2403sp1.x86_64.rpm</FullProductName>
			<FullProductName ProductID="unbound-debugsource-1.17.1-20" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP1">unbound-debugsource-1.17.1-20.oe2403sp1.x86_64.rpm</FullProductName>
			<FullProductName ProductID="unbound-devel-1.17.1-20" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP1">unbound-devel-1.17.1-20.oe2403sp1.x86_64.rpm</FullProductName>
			<FullProductName ProductID="unbound-help-1.17.1-20" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP1">unbound-help-1.17.1-20.oe2403sp1.x86_64.rpm</FullProductName>
			<FullProductName ProductID="unbound-libs-1.17.1-20" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP1">unbound-libs-1.17.1-20.oe2403sp1.x86_64.rpm</FullProductName>
			<FullProductName ProductID="unbound-utils-1.17.1-20" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP1">unbound-utils-1.17.1-20.oe2403sp1.x86_64.rpm</FullProductName>
		</Branch>
	</ProductTree>
	<Vulnerability Ordinal="1" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
		<Notes>
			<Note Title="Vulnerability Description" Type="General" Ordinal="1" xml:lang="en">In NLnet Labs Unbound 1.16.2 up to and including 1.25.1, a similar vulnerability as with CVE-2026-40622 in the &apos;ghost domain names&apos; family of attacks was found in Unbound that could extend the ghost domain window by up to one cached TTL configured value for A/AAAA glue records. Similar to other &apos;ghost domain names&apos; attacks, an adversary needs to control a (ghost) zone and be able to query a vulnerable Unbound. A single client A/AAAA query can cause Unbound to overwrite the cached expired parent-side glue rrset and essentially extend the ghost domain window by up to one cached TTL configured value (&apos;cache-max-ttl&apos;). In configurations where &apos;harden-referral-path: yes&apos; is used (non-default configuration), no client query is required since Unbound implicitly performs that query. This is a variant of CVE-2026-40622 which only addressed the NS query.</Note>
		</Notes>
		<ReleaseDate>2026-08-20</ReleaseDate>
		<CVE>CVE-2026-42955</CVE>
		<ProductStatuses>
			<Status Type="Fixed">
				<ProductID>openEuler-24.03-LTS-SP1</ProductID>
			</Status>
		</ProductStatuses>
		<Threats>
			<Threat Type="Impact">
				<Description>Low</Description>
			</Threat>
		</Threats>
		<CVSSScoreSets>
			<ScoreSet>
				<BaseScore>3.7</BaseScore>
				<Vector>AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N</Vector>
			</ScoreSet>
		</CVSSScoreSets>
		<Remediations>
			<Remediation Type="Vendor Fix">
				<Description>unbound security update</Description>
				<DATE>2026-08-20</DATE>
				<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-3434</URL>
			</Remediation>
		</Remediations>
	</Vulnerability>
	<Vulnerability Ordinal="2" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
		<Notes>
			<Note Title="Vulnerability Description" Type="General" Ordinal="1" xml:lang="en">In NLnet Labs Unbound 1.13.2 up to and including 1.25.1, stub or forward zones where the name is below an intermediate labed below a DNSSEC signed zone could be shadowed by the intermediate label&apos;s secure NXDOMAIN answer from the parent. This is caused by an off-by-one error in &apos;harden-below-nxdomain&apos; logic; enabled by default. It effectively bypasses the configuration and the configured stub/forward zone is never contacted. &apos;harden-below-nxdomain&apos; does an upward DNS cache walk together with a delegation point guard that does not allow NXDOMAIN synthesis above stub/forward zones. The guard tests the domain name but before stripping a label. This results in an iteration where the domain name equals the configured stub/forward zone apex that passes the guard, strips one more label, and probes the cache at the apex&apos;s immediate public parent. If that parent has a cached DNSSEC-secure NXDOMAIN, which it will for any private namespace nested two or more labels under a signed public name, the walk returns it and the configured stub/forward upstream is never contacted. This can only be triggered by the query for the intermediate label (between the stub/forward apex and the DNSSEC parent zone).</Note>
		</Notes>
		<ReleaseDate>2026-08-20</ReleaseDate>
		<CVE>CVE-2026-44687</CVE>
		<ProductStatuses>
			<Status Type="Fixed">
				<ProductID>openEuler-24.03-LTS-SP1</ProductID>
			</Status>
		</ProductStatuses>
		<Threats>
			<Threat Type="Impact">
				<Description>Low</Description>
			</Threat>
		</Threats>
		<CVSSScoreSets>
			<ScoreSet>
				<BaseScore>3.7</BaseScore>
				<Vector>AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L</Vector>
			</ScoreSet>
		</CVSSScoreSets>
		<Remediations>
			<Remediation Type="Vendor Fix">
				<Description>unbound security update</Description>
				<DATE>2026-08-20</DATE>
				<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-3434</URL>
			</Remediation>
		</Remediations>
	</Vulnerability>
	<Vulnerability Ordinal="3" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
		<Notes>
			<Note Title="Vulnerability Description" Type="General" Ordinal="1" xml:lang="en">In NLnet Labs Unbound 1.15.0 up to and including 1.25.1, the TLS server name used for DNS-over-TLS (DoT) forwarded queries is tied to a struct&apos;s (&apos;serviced_query&apos;) lifetime but also referenced by another struct (&apos;waiting_tcp&apos;). When the owning struct is jostled out of the mesh while the DoT TCP stream is still handshaking it frees the storage behind the referenced string and if the TLS stream then errors out, it dereferences the freed pointer. The dereference is read-only and the practical impact is a daemon crash resulting in denial of service. A malicious actor that knows a DoT forwarding/stub Unbound&apos;s configuration could exploit the vulnerability by quering records in the appropriate zone while keeping Unbound uder pressure so that the jostle logic kicks in. If answers for the vulnerable zone are slow, the likelihood of jostling such queries is higher, although the timing of the jostle needs to be precise. Requirements for a vulnerable Unbound is the existence of a stub/forward zone configured for DoT together with a configured &apos;#authname&apos; suffix on the server identification. The connectivity to the server needs to exhibit a transient failure at the correct time in order to kick off the vulnerable error path.</Note>
		</Notes>
		<ReleaseDate>2026-08-20</ReleaseDate>
		<CVE>CVE-2026-50046</CVE>
		<ProductStatuses>
			<Status Type="Fixed">
				<ProductID>openEuler-24.03-LTS-SP1</ProductID>
			</Status>
		</ProductStatuses>
		<Threats>
			<Threat Type="Impact">
				<Description>Low</Description>
			</Threat>
		</Threats>
		<CVSSScoreSets>
			<ScoreSet>
				<BaseScore>3.7</BaseScore>
				<Vector>AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L</Vector>
			</ScoreSet>
		</CVSSScoreSets>
		<Remediations>
			<Remediation Type="Vendor Fix">
				<Description>unbound security update</Description>
				<DATE>2026-08-20</DATE>
				<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-3434</URL>
			</Remediation>
		</Remediations>
	</Vulnerability>
	<Vulnerability Ordinal="4" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
		<Notes>
			<Note Title="Vulnerability Description" Type="General" Ordinal="1" xml:lang="en">In NLnet Labs Unbound 1.20.0 up to and including 1.25.1, when Unbound is configured with &apos;serve-expired: yes&apos; and &apos;serve-expired-client-timeout &gt; discard-timeout &gt; 0&apos; (contrary to the suggested values), the discard-timeout branch during the serve expired logic drops an aged client reply without performing the correct accounting for the number of reply addresses for the query. Other identical branches outside of serve expired perform the correct decrement. Since the counter is never decremented in such scenario, it can reach the maximum limit and new clients for duplicate in-flight queries are silently dropped resulting in degradation of resolution service. A malicious actor can exploit the vulnerability by querying the resolver for a client-controlled slow-on-demand authoritative zone that can drive the counter past the threshold. Shipped defaults for &apos;serve-expired-client-timeout: 1800&apos; and &apos;discard-timeout: 1900&apos; make the branch unreachable.</Note>
		</Notes>
		<ReleaseDate>2026-08-20</ReleaseDate>
		<CVE>CVE-2026-56444</CVE>
		<ProductStatuses>
			<Status Type="Fixed">
				<ProductID>openEuler-24.03-LTS-SP1</ProductID>
			</Status>
		</ProductStatuses>
		<Threats>
			<Threat Type="Impact">
				<Description>Low</Description>
			</Threat>
		</Threats>
		<CVSSScoreSets>
			<ScoreSet>
				<BaseScore>3.7</BaseScore>
				<Vector>AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L</Vector>
			</ScoreSet>
		</CVSSScoreSets>
		<Remediations>
			<Remediation Type="Vendor Fix">
				<Description>unbound security update</Description>
				<DATE>2026-08-20</DATE>
				<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-3434</URL>
			</Remediation>
		</Remediations>
	</Vulnerability>
</cvrfdoc>