Difference between revisions of "Relative path library search"

From OWASP
Jump to: navigation, search
Line 57: Line 57:
 
[[Category:Vulnerability]]
 
[[Category:Vulnerability]]
  
[[Category:Environmental Problem]]
+
[[Category:Environmental Vulnerability]]
  
 
[[Category:OWASP_CLASP_Project]]
 
[[Category:OWASP_CLASP_Project]]

Revision as of 14:50, 4 August 2006


Overview

Certain functions perform automatic path searching. The method and results of this path searching may not be as expected. Example: WinExec will use the space character as a delimiter, finding "C:\Program.exe" as an acceptable result for a search for "C:\Program Files\Foo\Bar.exe".

Consequences

  • Authorization: There is the potential for arbitrary code execution with privileges of the vulnerable program.

Exposure period

  • Implementation: This flaw is a simple logic issue, introduced entirely at implementation time.

Platform

  • Languages: Any
  • Operating platforms: Any

Required resources

Any

Severity

High

Likelihood of exploit

High

Avoidance and mitigation

  • Implementation: Use other functions which require explicit paths. Making use of any of the other readily available functions which require explicit paths is a safe way to avoid this problem.

Discussion

If a malicious individual has access to the file system, it is possible to elevate privileges by inserting such a file as "C:\Program.exe" to be run by a privileged program making use of WinExec.

Examples

In C\C++:

UINT errCode = WinExec(
  "C:\\Program Files\\Foo\\Bar",
  SW_SHOW
);

Related problems

Not available.