fish是一款智能且用户友好的macOS、Linux以及其他操作系统的命令行shell。fish shell在内部使用某些Unicode非字符来标记通配符和扩展。它错误地允许在命令替换输出中读取这些标记,而不是将它们转换为安全的内部表示。尽管这可能会导致直接输入的意外行为(例如,echo \UFDD2HOME的输出与echo $HOME相同),但如果输出来自外部程序并进入命令替换中,则可能成为一种轻微的安全问题。此设计缺陷在fish的非常早期版本中引入,早于版本控制系统,并且据信在过去15年或更长时间的每个fish版本中都存在,尽管使用的是不同的字符。目前似乎不可能进行代码执行,但在某些情况下可能会发生拒绝服务(通过大括号展开)或信息泄露(例如变量展开)。为修复此问题,已发布fish shell 3.6.2版本。建议用户升级。此漏洞没有已知的解决方法。
建议您更新当前系统或软件至最新版,完成漏洞的修复。