The possibility that unintended file operation may be performed because some methods of `Dir` do not check NULL characters.
访问控制 / 访问控制缺陷(通用) / #302338
该报告还没有中文解读。
原文摘录
摘自原文(1038 字符中的一小部分)
It seems that `entries`,`new`, and `empty?` do not check NULL characters in methods of `Dir`.
原文中的代码
[vagrant@localhost ~]$ ls
test
[vagrant@localhost ~]$ irb
irb(main):001:0> Dir.open("/home/vagrant\0xxx") do |d|
irb(main):002:1* p d.read # => "."
irb(main):003:1> p d.read # => ".."
irb(main):004:1> p d.read
irb(main):005:1> p d.read
irb(main):006:1> end
"."
".."
".bash_logout" …默认不展示报告全文。以上为简短摘录,完整复现过程请阅读原文。版权归研究员与 Ruby 所有。
时间线
- 报告提交
- 公开披露
阅读 HackerOne 原文 ↗作者 @ooooooo_q · 版权归作者与 Ruby 所有