漏洞概述 该漏洞涉及 中的 DoS(拒绝服务)漏洞,基于未绑定的 TCP 缓冲。在 函数中,TCP 交换的下一部分被接收并排队到 流中。然后,流的内容被系统性地导出到缓冲区。然而,这个缓冲区仅在数据传输完成时才使用,如果消息在多个部分中接收,会导致处理资源的浪费。 此外,该函数不处理长度限制:它接受接收数据块,无论单个长度和总长度是否大于 Kerberos 消息的最大理论长度,并继续等待数据,直到输入流的长度与提供的响应头中的长度不完全相同(即使流已经比预期长度长)。 如果 服务未受到 DNS 发现滥用的保护,攻击者可以利用这些问题来操作拒绝服务攻击(CVE-2023-39889)。 影响范围 受影响的服务: 服务。 攻击类型:拒绝服务攻击(DoS)。 攻击条件: 服务未受到 DNS 发现滥用的保护。 修复方案 1. 中断接收:在消息超过 Kerberos 消息的最大长度或消息头中指示的长度后, 将中断消息的接收。 2. 仅导出内容:仅导出输入流的内容到缓冲区,直到接收过程结束。 代码变更 总结 该漏洞通过未绑定的 TCP 缓冲导致资源浪费和潜在的拒绝服务攻击。修复方案包括在消息超过最大长度或预期长度时中断接收,并仅导出输入流的内容到缓冲区。相关代码变更已在 和 中实现。