Azure / Azure/run-command-handler-linux

Script filename from SasUri cannot contain /

Đang mở
#9 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Go
Star
2
Fork
16
Merge trung bình
1 ngày 9 giờ
Pull request đã merge (30 ngày)
2

Mô tả

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.

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Hướng nghiên cứu

Bắt đầu trong pkg/download/blob.go, tại phần mã trích xuất tên tệp và mở tệp được tham chiếu trong issue. Theo dõi cách đường dẫn SasUri trở thành fileName, sau đó xác minh việc xử lý foo/bar.sh và các đường dẫn chứa .. hoặc /. Hoàn tất khi một URI script có các thành phần đường dẫn lồng nhau có thể được xử lý mà không gặp lỗi thư mục bị thiếu hoặc hành vi đường dẫn không an toàn.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
go
Lĩnh vực
security
Loại issue
Lỗi
Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
45/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.