C and C++ Binaries


BADFUNC.PATH.COLOADLIBRARY : Use of CoLoadLibrary

Summary

A use of CoLoadLibrary(), which is vulnerable to path spoofing if the file name argument is not securely specified.

Properties

Class Name Use of CoLoadLibrary
Significance style
Mnemonic BADFUNC.PATH.COLOADLIBRARY
Categories
CWE CWE:676 Use of Potentially Dangerous Function
CERT-C CERT-C:WIN00-C Be specific when dynamically loading libraries
DISA-3r10 DISA-3r10:V-6157 The designer will ensure the application does not contain invalid URL or path references.
BSI BSI:AfxLoadLibrary  
OWASP-2017 OWASP-2017:A9 Using components with known vulnerabilities
OWASP-2021 OWASP-2021:A6 Vulnerable and outdated components
Availability Available for C and C++.
Enabling Checks for this warning class are disabled by default. To enable them, add the following WARNING_FILTER rule to the project configuration file.
WARNING_FILTER += allow class="Use of CoLoadLibrary"
To enable all BSI-related classes, including all BSI-specific BADFUNC classes, use the bsi configuration preset.

Resolution

HINSTANCE CoLoadLibrary(LPCTSTR lpszLibName BOOL bAutoFree)

When you see a Use of CoLoadLibrary warning, make sure that the file name argument lpszLibName to CoLoadLibrary() is a fully-specified path name (including file extension) from a trusted source.

Once you are satisfied that these conditions hold, you can change the warning state to Suppressed.

Relevant Configuration File Parameters

This class is implemented using a BAD_FUNCTION_* rule set in the general template configuration file.

The following configuration file parameters affect checks for this warning class.