Versions Compared

Key

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

...

Wiki Markup
Performing operations on device files which are intended for ordinary character or binary files can result in crashes and denial-of-service attacks.  For example, when Windows attempts to interpret the device name as a file resource, it performs an illegal resource access that usually results in a crash \[[Howard 02|AA. C References#Howard 02]\] .

Non-Compliant Code Example

Code Block
bgColor#ffcccc

Compliant Code Example (UNIX)

Wiki Markup
Device files in UNIX can be a major security hazard when an attacker is able to access them in an unauthorized way. For instance, if attackers can read or write to the {{/dev/kmem}} device, they may be able to alter their priority, UID, or other attributes of their process or simply crash the system. Similarly, access to disk devices, tape devices, network devices, and terminals being used by others all can lead to problems \[[Garfinkel 96|AA. C References#Garfinkel 96]\].

Code Block
bgColor#ffcccc

struct stat s;

if (stat(filename, &s) == 0) {
  if (S_ISREG (s.st_mode)) {
    /* operate on file */
  }
}

Compliant Solution (Windows)

...