| Gói / sản phẩm | Phiên bản bị ảnh hưởng | Phiên bản đã vá |
|---|---|---|
| github.com/patrickhener/goshs | ≤ 1.1.4mọi phiên bản | |
| github.com/patrickhener/goshs/v2 | < 2.1.5-0.20260727065949-f3ef599e4091 | 2.1.5-0.20260727065949-f3ef599e4091 |
| goshs.de/goshs | ≤ 1.1.4mọi phiên bản | |
| goshs.de/goshs/v2 | < 2.1.5-0.20260727065949-f3ef599e4091 | 2.1.5-0.20260727065949-f3ef599e4091 |
The multipart upload filename fix splits on the path separator but never rejects dot-dot, allowing a write outside the served tree.
The multipart filename fix (updown.go lines 135-136) splits on the path separator but never rejects "..". Uploading with filename=".." results in os.Create against the parent of the upload folder with a trailing marker character, outside the served tree, and the subsequent failed rename leaves that file behind. Verified: a file containing ESCAPED_WRITE_PROOF was written outside the webroot, unauthenticated, with the default configuration. Not claimed: a Windows-specific variant (Go's Part.FileName() already applies filepath.Base).
AI assistance was used while investigating. The finding was reproduced against a running server on loopback.
Bạn đang dùng một trong các sản phẩm này? Quét site để biết có đang lộ phiên bản có lỗ hổng không.
Quét site miễn phí