Arbitrary File Write
该报告还没有中文解读。
原文摘录
摘自原文(3720 字符中的一小部分)
Protodump contains a path traversal vulnerability that allows to write files to arbitrary locations on the filesystem outside the intended output directory. This occurs due to insufficient validation of the go_package option extracted from protobuf descriptors embedded in analyzed binaries.
原文中的代码
func (pd *ProtoDefinition) Filename() string {
goPackage := pd.pb.GetOptions().GetGoPackage()
index := strings.Index(goPackage, ";")
if index == -1 {
return pd.descriptor.Path()
}
// BUG: No sanitization of goPackage path
return path.Join(goPackage[:index], …默认不展示报告全文。以上为简短摘录,完整复现过程请阅读原文。版权归研究员与 arkadiyt-projects 所有。
时间线
- 报告提交
- 公开披露
阅读 HackerOne 原文 ↗作者 @newby99 · 版权归作者与 arkadiyt-projects 所有