CVE-2026-44050Netatalk 2.0.0至4.4.2版本中的CNID守护进程`comm_rcv()`函数存在严重的基于堆的缓冲区溢出漏洞。由于该组件对数据处理不当,远程经过身份验证的攻击者可利用此漏洞发送恶意构造的数据包,从而触发缓冲区溢出。成功利用该漏洞可能导致攻击者以提升的权限执行任意代码,或者造成目标系统拒绝服务,破坏系统的机密性、完整性和可用性。
该漏洞的根源在于Netatalk的CNID守护进程在处理网络数据时,`comm_rcv()`函数未正确校验输入数据的大小。攻击者首先需要对目标服务进行身份认证(满足PR:L条件),随后向特定的服务端口发送特制的超长数据包。由于缺乏边界检查,这些数据会被复制到堆分配的缓冲区之外,覆盖相邻的内存区域。由于守护进程通常运行在较高权限下,攻击者可以通过精心构造的载荷覆盖返回地址或函数指针,劫持程序执行流,最终实现远程代码执行或导致服务崩溃。