主要观点:
- 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 通配符扩展安全性的回复和后续交流。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。