CVE-2026-44072Netatalk 2.2.1 至 4.4.2 版本中存在一个安全漏洞。该漏洞源于程序在 `chdir()` 函数调用失败后,错误地调用了 `system()` 函数且未对错误条件进行妥善处理。本地具有高权限的恶意用户可利用此漏洞执行非预期的系统命令,从而导致数据完整性受损或服务可用性轻微中断。该漏洞攻击向量为本地,需高权限触发,风险等级较低。
该漏洞的根源在于Netatalk的错误处理逻辑存在缺陷。当程序尝试通过 `chdir()` 函数切换目录操作失败时,代码流程进入了特定的错误处理分支。在此分支中,程序未经过安全检查便直接调用了 `system()` 函数。由于 `system()` 函数会启动系统的Shell(如/bin/sh)来执行传入的命令字符串,如果攻击者能够间接控制传递给该函数的参数,或者利用特定的环境变量(如PATH)和文件名构造,即可在当前上下文中注入恶意指令。尽管攻击者已需具备本地高权限(PR:H),但这允许其绕过部分限制,执行非预期的系统操作,导致数据完整性受损或服务中断。利用该漏洞通常需要攻击者精心构造文件夹名称或环境,强制 `chdir` 失败并触发包含攻击者可控数据的 `system()` 调用。