Skip to content

Incorrect permission assignment for critical resource

Description

The application sets file permissions to overly permissive values. Consider using restrictive permissions such as 0400 for read-only access, 0200 for write-only access, or 0600 for read/write access to the file.

Examples

Insecure Code

go
os.Chmod("file.txt", 0666)

Secure Code

go
os.OpenFile("file.txt", os.O_CREATE, 0600)

Remediation

Use the os.OpenFile function with the correct permission, for example: os.OpenFile("file.txt", os.O_CREATE, 0600)

Rule Details

FieldValue
IDCODE-0780
CategoryAccessControl
SeverityMEDIUM
CWECWE-732
ConfidenceHIGH
ImpactMEDIUM
LikelihoodMEDIUM
ExploitabilityEASY
Tagsfile permissions, access control
OWASPA5:2017-Broken Access Control, A01:2021-Broken Access Control