Expect directory permissions to be 0750 or less
33 if err != nil {
34 break
35 } else if i == 1 {
36 os.Mkdir("./public/"+userInfo.Name+"/"+product.Name, 0755)37 }
38 imgUrl := fmt.Sprintf("./public/%s/%s/%s", userInfo.Name, product.Name, file.Filename)
39
Expect directory permissions to be 0750 or less
37 return c.Status(400).JSON(fiber.Map{"error": err.Error()})
38 }
39 postId := uuid.NewString()
40 err := os.Mkdir("./public/"+userInfo.Name+"/"+postId, 0755) 41 if err != nil{
42 return c.SendStatus(fiber.StatusInternalServerError)
43 }
Description
Excessive permissions granted when creating a directory. This warning is
triggered whenever permission greater than 0750
is given.
In general, all security rules follow the principle of least privilege, except when the created directory needs to be accessed by anyone other than the user creating it.
Bad practice
package main
import (
"fmt"
"os"
)
func main() {
err := os.Mkdir("/tmp/mydir", 0777)
if err != nil {
fmt.Println("Error when creating a directory!")
return
}
}
Recommended
package main
import (
"fmt"
"os"
)
func main() {
err := os.Mkdir("/tmp/mydir", 0600)
if err != nil {
fmt.Println("Error when creating a directory!")
return
}
}