Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Using the POSIX function open() to create a file but failing to provide access permissions for that file may cause that file to be created with unintended access permissions. This omission has been known to lead to vulnerabilities; for instance, CVE-2006-1174.

Code Block
bgColor#FFCCCC

...
int fd = open(file_name, O_CREAT | O_WRONLY); /* access permissions are missing */
if (fd == -1){
  /* Handle Error */
}
...

...

The fopen() function does not provide a mechanism to specify file access permissions. In the example below, if the call to fopen() creates a new file, the access permissions for that file will be implementation defined.

Code Block
bgColor#FFCCCC
 
...
FILE * fptr = fopen(file_name, "w");
if (!fptr){
  /* Handle Error */
}
...

...

Rule

Severity

Likelihood

Remediation Cost

Priority

Level

FIO06-A

3 2 (highmedium)

1 (unlikely)

2 (medium)

P6 P4

L2 L3

References