Affected by GO-2023-2012
and 8 other vulnerabilities
GO-2023-2012: lakeFS vulnerable to Arbitrary JavaScript Injection via Direct Link to HTML Files in github.com/treeverse/lakefs
GO-2023-2397: User with permission to write actions can impersonate another user when auth token is configured in environment variable in github.com/treeverse/lakefs
GO-2023-2398: lakeFS logs S3 credentials in plain text in github.com/treeverse/lakefs
GO-2024-2581: User with ci:ReadAction permissions and write permissions to one path in a repository may copy objects from any path in the repository in github.com/treeverse/lakefs
GO-2024-3291: Re-creating a deleted user in lakeFS will re-enable previous user credentials that existed prior to its deletion in github.com/treeverse/lakefs
GO-2025-3479: lakeFS allows an authenticated user to cause a crash by exhausting server memory in github.com/treeverse/lakefs
GO-2025-4090: lakeFS affected by unauthenticated access to API usage metrics in github.com/treeverse/lakefs
GO-2026-4321: lakeFS is Missing Timestamp Validation in S3 Gateway Authentication in github.com/treeverse/lakefs
GO-2026-4494: lakeFS vulnerable to path traversal in local block adapter allow cross-namespace and sibling directory access in github.com/treeverse/lakefs
Match reports whether name matches the shell pattern.
This is a strip down version of Go's `path.Match` https://pkg.go.dev/path#Match
Call a "fixword" a maximal portion of the pattern consisting only of regular characters and ?s.
So a fixword has to begin after * or at the beginning of the string, and it has to end before * or at the end of the string.
Each fixword matches a fixed length of string. Now a pattern is a list of fixwords separated by *s.
Consider a fixword that is not preceded by a *; that's an easy match to find because it can only be at one place.
Consider a fixword that is preceded by a *; if it matches at multiple places then it is always safe to match it at
the first possible location: either the pattern ends after that fixword in which case there's only one possible location,
or the pattern continues with *, in which case that * can "expand" to pick up all characters and the next match of the fixword.