IPBUF安全漏洞报告
English
CVE-2026-45557 CVSS 5.8 中危

CVE-2026-45557 Technitium DNS Server 拒绝服务漏洞

披露日期: 2026-05-19
来源: 9119a7d8-5eab-497f-8521-727c672e3725

漏洞信息

漏洞编号
CVE-2026-45557
漏洞类型
拒绝服务
CVSS评分
5.8 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Technitium DNS Server

相关标签

拒绝服务DNSTechnitiumDoSDNSSEC

漏洞概述

Technitium DNS Server 在处理 DNSSEC 验证逻辑时存在安全缺陷。当系统遇到缺失的 RRSIG 记录或 DNSKEY 记录不匹配的情况时,会激进地尝试重新获取。攻击者可利用此特性,通过控制恶意域名构造特定响应,诱导受害服务器产生过多的网络流量,进而耗尽系统资源,造成拒绝服务。该问题已在 15.0 版本中修复。

技术细节

该漏洞源于 Technitium DNS Server 在执行 DNSSEC 签名验证时的逻辑错误。正常情况下,DNS 解析器验证 RRset 的签名,若失败则应丢弃响应。然而,受影响版本在遇到 RRSIG 记录缺失或 DNSKEY 记录不匹配时,会尝试以激进的方式重新获取记录进行验证。攻击者可以配置一个恶意的权威域名服务器,对特定查询返回故意设计的不完整或错误的 DNSSEC 记录。这将触发受害服务器发起大量重复的查询请求,导致网络带宽耗尽和 CPU 负载升高,从而形成拒绝服务攻击。

攻击链分析

STEP 1
侦察
攻击者识别出运行受影响版本 Technitium DNS Server 的目标。
STEP 2
资源准备
攻击者设置一个恶意的权威 DNS 服务器,配置为对特定域名的 DNSSEC 请求返回无效的或不完整的 RRSIG/DNSKEY 记录。
STEP 3
诱导查询
攻击者诱导受害 DNS Server 对其控制的恶意域名发起解析请求(例如通过垃圾邮件、链接或直接查询)。
STEP 4
触发漏洞
受害 DNS Server 接收到响应,发现 DNSSEC 记录不匹配或缺失,于是激进地尝试重新获取记录,产生大量网络流量。
STEP 5
达成影响
受害服务器的网络带宽和 CPU 资源被耗尽,导致无法响应正常的 DNS 请求,造成拒绝服务。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import socket import struct def build_dns_query(domain): # Construct a simple DNS query for the target domain transaction_id = 0x1234 flags = 0x0100 # Standard query questions = 1 answer_rrs = 0 authority_rrs = 0 additional_rrs = 0 header = struct.pack('!HHHHHH', transaction_id, flags, questions, answer_rrs, authority_rrs, additional_rrs) # Encode domain name query_body = b'' for part in domain.split('.'): query_body += bytes([len(part)]) + part.encode() query_body += b'\x00' # Type and Class (A record, IN class) query_body += struct.pack('!HH', 1, 1) return header + query_body # Example usage to trigger the query # The actual exploit requires a malicious authoritative DNS server # responding with malformed DNSSEC records to the victim server. print("This POC demonstrates the query structure. To exploit CVE-2026-45557,") print("an attacker would set up a malicious authoritative nameserver that returns") print("incomplete RRSIG or mismatched DNSKEY records for the queried domain.") query = build_dns_query('example.com') print(f"Generated DNS Query Packet: {query.hex()}")

影响范围

Technitium DNS Server < 15.0

防御指南

临时缓解措施
如果无法立即升级,建议管理员限制 DNS 服务器的递归查询权限,仅对受信任的客户端开放,并监控网络流量中是否存在异常的出站 DNS 请求模式。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表