Skip to content

Commit

Permalink
Fixes possible vulnerabilities with keyword hijacking (#20)
Browse files Browse the repository at this point in the history
- Added public entries to reserved keywords list
- Rename variables
- Derped comment
  • Loading branch information
LefsFlare authored and 0xBAADF00D committed Nov 12, 2016
1 parent 3dedc02 commit 3ef022b
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions models/user.go
Original file line number Diff line number Diff line change
Expand Up @@ -505,12 +505,12 @@ func NewGhostUser() *User {
}

var (
reversedUsernames = []string{"debug", "raw", "install", "api", "avatar", "user", "org", "help", "stars", "issues", "pulls", "commits", "repo", "template", "admin", "new", ".", ".."}
reversedUserPatterns = []string{"*.keys"}
reservedUsernames = []string{"assets", "css", "img", "js", "less", "plugins", "debug", "raw", "install", "api", "avatar", "user", "org", "help", "stars", "issues", "pulls", "commits", "repo", "template", "admin", "new", ".", ".."}
reservedUserPatterns = []string{"*.keys"}
)

// isUsableName checks if name is reserved or pattern of name is not allowed
// based on given reversed names and patterns.
// based on given reserved names and patterns.
// Names are exact match, patterns can be prefix or suffix match with placeholder '*'.
func isUsableName(names, patterns []string, name string) error {
name = strings.TrimSpace(strings.ToLower(name))
Expand All @@ -535,7 +535,7 @@ func isUsableName(names, patterns []string, name string) error {
}

func IsUsableUsername(name string) error {
return isUsableName(reversedUsernames, reversedUserPatterns, name)
return isUsableName(reservedUsernames, reservedUserPatterns, name)
}

// CreateUser creates record of a new user.
Expand Down

0 comments on commit 3ef022b

Please sign in to comment.