oss-sec: shell 通配符展开(安全)/(不安全)

主要观点:

  • Alexander Hu 向 distros 列表等发送关于 shell 扩展漏洞的消息,后被带到 oss-security 以保证透明度和一致性。
  • 文件名可能包含对某些程序特殊的字符串, shells 会不加考虑地扩展通配符,可能导致意外处理,如“--version”被 GNU grep 处理为选项。
  • getopt(3)和 getopt_long(3)会在遇到“--”参数时停止处理选项,可用于分离选项和文件名,避免上述问题。
  • 处理任意/不受信任的目录较棘手,如递归处理可使用 grep -r、find 等命令避免通配符扩展。
  • shells 无法在不破坏兼容性的情况下减轻此问题,唯一较合理的改变是通配符扩展时给文件名加“./”,但可能会破坏一些现有用法。

关键信息:

  • 发送者为 Solar Designer 和 Alexander Hu。
  • 讨论涉及多种 shell 行为及相关安全问题。
  • 提到了 getopt 相关函数及多种处理文件的命令和方法。

重要细节:

  • Alexander Hu 测试了多种 Unix 系统的 shell 行为并举例说明。
  • Solar Designer 指出 distros 列表的相关政策及对消息的看法。
  • 讨论中涉及多个关于 shell 通配符扩展安全性的回复和后续交流。
阅读 13
0 条评论