...
The fopen_s() function defined in ISO/IEC TR 24731-1 ISO/IEC TR 24731-2006 can be used to create a file with restriced permissions. Specifically, ISO/IEC TR 24731-1 says:
...
Non-Compliant Code Example: open() (POSIX)
| Wiki Markup |
|---|
Using the POSIX function {{open()}} to create a file but failing to provide access permissions for that file may cause the file to be created with unintended access permissions. This omission has been known to lead to vulnerabilities; for instance, \[[CVE-2006-1174|http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-1174]\]. |
| Code Block |
|---|
|
...
int fd = open(file_name, O_CREAT | O_WRONLY); /* access permissions are missing */
if (fd == -1){
/* Handle Error */
}
...
|
...
| Wiki Markup |
|---|
\[[ISO/IEC TR 24731-2006|AA. C References#SO/IEC TR 24731-2006]\] Section 6.5.2.1, "The fopen_s function" |
| Wiki Markup |
|---|
\[[CVE-2006-1174|http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-1174]\] |
| Wiki Markup |
|---|
\[[Viega 03|AA. C References#Viega 03]\] Section 2.7 Restricting Access Permissions for New Files on Unix |