CVE-2026-33310Intake是一个用于查找、调查、加载和传播数据的包。在2.0.9版本之前,目录解析过程中会自动展开参数默认值中的shell()语法。如果目录包含类似shell(<command>)的参数默认值,当访问该目录源时,命令可能会被执行。这意味着如果用户加载了恶意的目录YAML文件,嵌入的命令可能会在主机系统上执行。攻击者可利用此漏洞在目标服务器上执行任意系统命令。
该漏洞源于Intake在解析YAML格式的数据目录时,对参数默认值的处理逻辑存在缺陷。具体来说,当Intake解析catalog文件时,会处理其中的参数定义。在受影响版本中,如果参数的默认值使用了shell()函数封装(例如shell('whoami')),Intake会自动调用系统shell执行该命令。攻击者可以构造一个恶意的YAML文件,并在其中定义包含shell()调用的参数。当受害者使用Intake加载这个恶意的catalog文件时,无需进一步的用户交互,代码即会在受害者的本地环境中执行。这本质上是一种通过配置文件注入导致的远程代码执行漏洞。漏洞的触发点在于catalog的解析过程,特别是对getshell参数的处理,旧版本中默认允许此行为,导致安全隐患。