CVE-2026-50252 in Unbound
摘要
由 VulDB • 2026-07-22
在 NLnet Labs 的 Unbound 1.4.22 至 1.25.1(含)版本中,UDP 源端口被随机化,旨在作为增加 DNS 事务熵值的秘密值。当解析器的负载均衡策略依赖于源端口,且其结果被泄露时,这种保密性就会受到破坏。该漏洞的产生是因为负载均衡策略相对于传入的 UDP 源端口和 IP 地址保持一致,同时严重依赖传入的 UDP 源端口作为随机化来源。在 Unbound(默认情况下)启用 SO_REUSEPORT 配置选项('so-reuseport: yes')时,即满足这些条件,从而容易受到 DNS 缓存投毒攻击的影响。启动时,Unbound 将可用的 UDP 源端口空间随机划分为大小几乎相等的互斥子集,并将每个子集分配给特定的工作线程。当收到传入的 DNS 查询时,内核的 SO_REUSEPORT 负载均衡机制会将该查询确定性地分配给与特定线程关联的套接字。在此请求解析过程中生成的所有传出 DNS 查询均使用仅从对应线程分配的端口子集中选择的源端口。由于这些端口子集在线程之间是互斥的,因此解析器向权威名称服务器发出的传出查询中观察到的源端口可作为处理原始客户端查询的工作线程的可靠指标。恶意行为者可以获取传入 UDP 源端口(对于给定的固定源 IP 地址)与 Unbound 工作线程之间的映射关系,并通过有效降低每个线程的随机端口数量来利用该映射实施 DNS 缓存投毒攻击。
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.