chore: set more explicit guards for serving bin files (#19597)

This commit is contained in:
Jon Ayers
2025-08-27 19:12:05 -07:00
committed by GitHub
parent 0f1fc88d5a
commit be40b8ca3e
+10
View File
@@ -1018,6 +1018,16 @@ func newBinMetadataCache(binFS http.FileSystem, binSha1Hashes map[string]string)
}
func (b *binMetadataCache) getMetadata(name string) (binMetadata, error) {
// Reject any invalid or non-basename paths before touching the filesystem.
if name == "" ||
name == "." ||
strings.Contains(name, "/") ||
strings.Contains(name, "\\") ||
!fs.ValidPath(name) ||
path.Base(name) != name {
return binMetadata{}, os.ErrNotExist
}
b.mut.RLock()
metadata, ok := b.metadata[name]
b.mut.RUnlock()