Azure / Azure/run-command-handler-linux

Script filename from SasUri cannot contain /

未關閉
#9 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
主要語言
Go
星號
2
分支
16
平均合併
1 天 9 小時
30 天內合併 PR
2

描述

I have a script source SasUri like:

```
https://xxx.blob.windows.net/container/foo/bar.sh
```

According to:

https://github.com/Azure/run-command-handler-linux/blob/6efb77e0fec9b1ff87c980d1a207f0fc73493b8a/pkg/download/blob.go#L82-L99

`fileName` becomes `foo/bar.sh`. However, directory `foo` doesn't exist so the `open` below always fails.

Suggest using fixed file name like a GUID. Otherwise you have to deal with `..` and `/` in paths which could cause a lot of security troubles.

貢獻指南

這個儲存庫沒有索引到貢獻指南

研究方向

從 pkg/download/blob.go 中 issue 所引用的檔名擷取和檔案開啟程式碼開始。追蹤 SasUri 路徑如何變成 fileName,然後驗證對 foo/bar.sh 以及包含 .. 或 / 的路徑的處理。完成的標準是:包含巢狀路徑元件的腳本 URI 可以在不出現缺少目錄的失敗或不安全路徑行為的情況下被處理。

由索引模型根據 Issue 內容生成。

評估

技術堆疊
go
領域
security
Issue 類型
缺陷
難度
2/5
預估耗時
1-3 小時
活躍度
停滯
描述清晰度
基本清楚
新手友好度
45/100

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。