Skip to content

Commit 535fa73

Browse files
committed
data/reports: add GO-2024-3293
- data/reports/GO-2024-3293.yaml Fixes #3293 Change-Id: I7519a8c623ab3b78db5c02518b28dc6a546274d3 Reviewed-on: https://go-review.googlesource.com/c/vulndb/+/635761 LUCI-TryBot-Result: Go LUCI <[email protected]> Auto-Submit: Tatiana Bradley <[email protected]> Reviewed-by: Damien Neil <[email protected]>
1 parent 06de138 commit 535fa73

File tree

2 files changed

+95
-0
lines changed

2 files changed

+95
-0
lines changed

data/osv/GO-2024-3293.json

+57
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
{
2+
"schema_version": "1.3.1",
3+
"id": "GO-2024-3293",
4+
"modified": "0001-01-01T00:00:00Z",
5+
"published": "0001-01-01T00:00:00Z",
6+
"summary": "Full access to the host's OS file system using osfs.FS with Router.Static in goyave.dev/goyave/v5",
7+
"details": "Static file serving using router.Static and osfs.FS allows clients to access any file on the host file system using relative paths because the requested path is not sanitized and . and .. segments are accepted. The files will be returned as a response, provided the system user running the Go application has read access to the requested file.\n\nAs a workaround, use fsutil.NewEmbed(embeddedFS) from the goyave.dev/goyave/v5/util/fsutil package to serve static content using Router.Static instead of \u0026osfs.FS. Embedded file systems are rooted to the specified directory, making it impossible to navigate outside of the developers' intended directory.",
8+
"affected": [
9+
{
10+
"package": {
11+
"name": "goyave.dev/goyave/v5",
12+
"ecosystem": "Go"
13+
},
14+
"ranges": [
15+
{
16+
"type": "SEMVER",
17+
"events": [
18+
{
19+
"introduced": "5.0.0"
20+
},
21+
{
22+
"fixed": "5.5.0"
23+
}
24+
]
25+
}
26+
],
27+
"ecosystem_specific": {
28+
"imports": [
29+
{
30+
"path": "goyave.dev/goyave/v5",
31+
"symbols": [
32+
"Router.ServeHTTP",
33+
"Router.Static",
34+
"Server.Start",
35+
"cleanStaticPath",
36+
"staticHandler"
37+
]
38+
}
39+
]
40+
}
41+
}
42+
],
43+
"references": [
44+
{
45+
"type": "FIX",
46+
"url": "https://github.com/go-goyave/goyave/commit/5836bff3efaa8a37fbd58d077b93f03e93e05edd"
47+
},
48+
{
49+
"type": "WEB",
50+
"url": "https://github.com/golang/vulndb/issues/3293"
51+
}
52+
],
53+
"database_specific": {
54+
"url": "https://pkg.go.dev/vuln/GO-2024-3293",
55+
"review_status": "REVIEWED"
56+
}
57+
}

data/reports/GO-2024-3293.yaml

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
id: GO-2024-3293
2+
modules:
3+
- module: goyave.dev/goyave/v5
4+
versions:
5+
- introduced: 5.0.0
6+
- fixed: 5.5.0
7+
vulnerable_at: 5.4.3
8+
packages:
9+
- package: goyave.dev/goyave/v5
10+
symbols:
11+
- cleanStaticPath
12+
- staticHandler
13+
derived_symbols:
14+
- Router.ServeHTTP
15+
- Router.Static
16+
- Server.Start
17+
summary: |-
18+
Full access to the host's OS file system using osfs.FS with Router.Static in
19+
goyave.dev/goyave/v5
20+
description: |-
21+
Static file serving using router.Static and osfs.FS allows clients to access any
22+
file on the host file system using relative paths because the requested path is
23+
not sanitized and . and .. segments are accepted. The files will be returned as
24+
a response, provided the system user running the Go application has read access
25+
to the requested file.
26+
27+
As a workaround, use fsutil.NewEmbed(embeddedFS) from the
28+
goyave.dev/goyave/v5/util/fsutil package to serve static content using
29+
Router.Static instead of &osfs.FS. Embedded file systems are rooted to the
30+
specified directory, making it impossible to navigate outside of the developers'
31+
intended directory.
32+
references:
33+
- fix: https://github.com/go-goyave/goyave/commit/5836bff3efaa8a37fbd58d077b93f03e93e05edd
34+
- web: https://github.com/golang/vulndb/issues/3293
35+
source:
36+
id: go-security-team
37+
created: 2024-12-13T09:56:42.28832-05:00
38+
review_status: REVIEWED

0 commit comments

Comments
 (0)