./src/modules/core/include/LiveSupport/Core/Uuid.h:108: [2] (buffer) char:
Statically-sized arrays can be overflowed. Perform bounds checking,
use functions that limit length, or ensure that the size is larger than
the maximum possible length.
./src/modules/core/include/LiveSupport/Core/Md5.h:175: [2] (buffer) memcpy:
Does not check for buffer overflows when copying to destination. Make
sure destination can always hold the source data.
./src/modules/core/src/Md5.cxx:221: [2] (buffer) memcpy:
Does not check for buffer overflows when copying to destination. Make
sure destination can always hold the source data.
./src/modules/core/src/Md5.cxx:235: [2] (buffer) memcpy:
Does not check for buffer overflows when copying to destination. Make
sure destination can always hold the source data.
./src/modules/core/src/Md5.cxx:269: [1] (buffer) read:
Check buffer boundaries if used in a loop.
stream.read((char *)buffer, 1024);
./src/modules/core/src/Md5.cxx:513: [2] (buffer) memcpy:
Does not check for buffer overflows when copying to destination. Make
sure destination can always hold the source data.
./src/modules/core/src/FileToolsTest.cxx:125: [2] (misc) fopen:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
file = fopen(fileExtracted.c_str(), "r");
./src/modules/core/src/FileToolsTest.cxx:134: [2] (misc) fopen:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
file = fopen(fileExtracted.c_str(), "r");
./src/modules/core/src/FileToolsTest.cxx:139: [2] (misc) fopen:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
./src/modules/core/src/BaseTestMethod.cxx:114: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
file.open(fileName.c_str());
./src/modules/core/src/BaseTestMethod.cxx:125: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
./src/modules/core/src/RdsContainerTest.cxx:79: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
./src/modules/core/src/Uuid.cxx:286: [3] (random) srand:
This function is not sufficiently random for security-related
functions such as key and nonce creation. use a more secure technique for
acquiring random values.
./src/modules/core/src/TestRunner.cxx:195: [3] (buffer) getopt_long:
Some older implementations do not protect against internal buffer
overflows . Check implementation on installation, or limit the size of all
string inputs.
./src/modules/core/src/Md5Test.cxx:106: [2] (misc) fopen:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
./src/modules/core/src/LocalizedObject.cxx:325: [2] (buffer) memcpy:
Does not check for buffer overflows when copying to destination. Make
sure destination can always hold the source data.
std::memcpy(strBuf, data, length);
Examining ./src/modules/core/src/FileTools.cxx
./src/modules/core/src/FileTools.cxx:83: [2] (misc) fopen:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
FILE* file = fopen(path.c_str(), "wb");
./src/modules/core/src/FileTools.cxx:123: [2] (misc) fopen:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
./src/modules/authentication/src/TestRunner.cxx:195: [3] (buffer) getopt_long:
Some older implementations do not protect against internal buffer
overflows . Check implementation on installation, or limit the size of all
string inputs.
./src/modules/db/src/TestRunner.cxx:195: [3] (buffer) getopt_long:
Some older implementations do not protect against internal buffer
overflows . Check implementation on installation, or limit the size of all
string inputs.
./src/modules/storageClient/src/TestRunner.cxx:195: [3] (buffer) getopt_long:
Some older implementations do not protect against internal buffer
overflows . Check implementation on installation, or limit the size of all
string inputs.
./src/modules/playlistExecutor/include/LiveSupport/PlaylistExecutor/AudioPlayerInterface.h:156: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
./src/modules/playlistExecutor/src/AudioPlayerFactoryGstreamerTest.cxx:159: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
./src/modules/playlistExecutor/src/TwoGstreamerPlayersTest.cxx:154: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
./src/modules/playlistExecutor/src/TwoGstreamerPlayersTest.cxx:181: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
player2->open("file:///tmp/campcaster/test.mp3");
./src/modules/playlistExecutor/src/TwoGstreamerPlayersTest.cxx:211: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
./src/modules/playlistExecutor/src/TwoGstreamerPlayersTest.cxx:226: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
./src/modules/playlistExecutor/src/GstreamerPlayer.cxx:249: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
./src/modules/playlistExecutor/src/GstreamerPlayerTest.cxx:134: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
player->open("file:///tmp/campcaster/test.mp3");
./src/modules/playlistExecutor/src/GstreamerPlayerTest.cxx:170: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
player->open("file:///tmp/campcaster/test.mp3");
./src/modules/playlistExecutor/src/GstreamerPlayerTest.cxx:220: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
./src/modules/playlistExecutor/src/GstreamerPlayerTest.cxx:240: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
./src/modules/playlistExecutor/src/GstreamerPlayerTest.cxx:258: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
./src/modules/playlistExecutor/src/GstreamerPlayerTest.cxx:280: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
./src/modules/playlistExecutor/src/GstreamerPlayerTest.cxx:308: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
./src/modules/playlistExecutor/src/GstreamerPlayerTest.cxx:337: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
./src/modules/playlistExecutor/src/GstreamerPlayerTest.cxx:367: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
./src/modules/playlistExecutor/src/GstreamerPlayerTest.cxx:417: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
player->open("totally/bad/URL");
./src/modules/playlistExecutor/src/GstreamerPlayerTest.cxx:435: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
player->open("file:///tmp/campcaster/test.mp3");
./src/modules/playlistExecutor/src/GstreamerPlayerTest.cxx:444: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
player->open("totally/bad/URL");
./src/modules/playlistExecutor/src/GstreamerPlayerTest.cxx:509: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
player->open("file:///tmp/campcaster/test.mp3");
./src/modules/playlistExecutor/src/GstreamerPlayerTest.cxx:534: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
player->open("file:///tmp/campcaster/test.mp3");
./src/modules/playlistExecutor/src/GstreamerPlayerTest.cxx:563: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
player->open("file:///tmp/campcaster/test.mp3");
./src/modules/playlistExecutor/src/GstreamerPlayerTest.cxx:597: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
./src/modules/playlistExecutor/src/GstreamerPlayerTest.cxx:638: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
./src/modules/playlistExecutor/src/GstreamerPlayerTest.cxx:670: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
player->open(fileName);
./src/modules/playlistExecutor/src/GstreamerPlayerTest.cxx:737: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
./src/modules/playlistExecutor/src/GstreamerPlayerTest.cxx:808: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
player->open("file:///tmp/campcaster/test.mp3");
./src/modules/playlistExecutor/src/GstreamerPlayerTest.cxx:821: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
./src/modules/playlistExecutor/src/TestRunner.cxx:189: [2] (buffer) char:
Statically-sized arrays can be overflowed. Perform bounds checking,
use functions that limit length, or ensure that the size is larger than
the maximum possible length.
char tmp[255]={0};
./src/modules/playlistExecutor/src/TestRunner.cxx:190: [2] (buffer) sprintf:
Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
is low because the source has a constant maximum length.
sprintf(tmp, "file:///tmp/campcaster/%d.ogg", cnt+1);//use when file name needed
./src/modules/playlistExecutor/src/TestRunner.cxx:495: [3] (buffer) getopt_long:
Some older implementations do not protect against internal buffer
overflows . Check implementation on installation, or limit the size of all
string inputs.
./src/modules/playlistExecutor/src/GstreamerPlayer.h:289: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
./src/modules/eventScheduler/src/TestRunner.cxx:195: [3] (buffer) getopt_long:
Some older implementations do not protect against internal buffer
overflows . Check implementation on installation, or limit the size of all
string inputs.
./src/modules/schedulerClient/src/SchedulerDaemonXmlRpcClientTest.cxx:427: [2] (misc) fopen:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
file = fopen(extractedTempFileName.c_str(), "r");
./src/modules/schedulerClient/src/SchedulerDaemonXmlRpcClientTest.cxx:436: [2] (misc) fopen:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
file = fopen(extractedTempFileName.c_str(), "r");
./src/modules/schedulerClient/src/SchedulerDaemonXmlRpcClientTest.cxx:441: [2] (misc) fopen:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
./src/modules/schedulerClient/src/TestRunner.cxx:195: [3] (buffer) getopt_long:
Some older implementations do not protect against internal buffer
overflows . Check implementation on installation, or limit the size of all
string inputs.
./src/modules/widgets/src/main.cxx:125: [3] (buffer) getopt_long:
Some older implementations do not protect against internal buffer
overflows . Check implementation on installation, or limit the size of all
string inputs.
./src/products/scheduler/src/PlaylistEvent.cxx:161: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
./src/products/scheduler/src/XmlRpcDaemon.cxx:202: [1] (access) umask:
Ensure that umask is given most restrictive possible setting (e.g.,
066 or 077).
./src/products/scheduler/src/main.cxx:142: [3] (buffer) getopt_long:
Some older implementations do not protect against internal buffer
overflows . Check implementation on installation, or limit the size of all
string inputs.
./src/products/scheduler/src/RpcBackupTest.cxx:267: [2] (misc) fopen:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
file = fopen(extractedTempFileName.c_str(), "r");
./src/products/scheduler/src/RpcBackupTest.cxx:276: [2] (misc) fopen:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
file = fopen(extractedTempFileName.c_str(), "r");
./src/products/scheduler/src/RpcBackupTest.cxx:281: [2] (misc) fopen:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
./src/products/scheduler/src/PostgresqlBackupTest.cxx:200: [2] (misc) fopen:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
file = fopen(extractedTempFileName.c_str(), "r");
./src/products/scheduler/src/PostgresqlBackupTest.cxx:209: [2] (misc) fopen:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
file = fopen(extractedTempFileName.c_str(), "r");
./src/products/scheduler/src/PostgresqlBackupTest.cxx:214: [2] (misc) fopen:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
./src/products/scheduler/src/TestRunner.cxx:212: [3] (buffer) getopt_long:
Some older implementations do not protect against internal buffer
overflows . Check implementation on installation, or limit the size of all
string inputs.
./src/products/gLiveSupport/src/GLiveSupportTest.cxx:125: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
ifs.open(configFileName.c_str());
./src/products/gLiveSupport/src/GLiveSupportTest.cxx:129: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
./src/products/gLiveSupport/src/main.cxx:132: [3] (buffer) getopt_long:
Some older implementations do not protect against internal buffer
overflows . Check implementation on installation, or limit the size of all
string inputs.
./src/products/gLiveSupport/src/KeyboardShortcutTest.cxx:79: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
./src/products/gLiveSupport/src/GLiveSupport.cxx:1301: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
./src/products/gLiveSupport/src/GLiveSupport.cxx:1310: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
./src/products/gLiveSupport/src/GLiveSupport.cxx:1431: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
cuePlayer->open(*cueItemPlayingNow->getUri());
./src/products/gLiveSupport/src/GLiveSupport.cxx:1440: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
cuePlayer->open(*cueItemPlayingNow->getUri());
./src/products/gLiveSupport/src/GLiveSupport.cxx:1757: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
cuePlayer->open(*testAudioUrl);
./src/products/gLiveSupport/src/GLiveSupport.cxx:1803: [4] (shell) system:
This causes a new program to execute and is difficult to use safely.
try using a library call that implements the same functionality if
available.
system(schedulerDaemonStartCommand->c_str());
./src/products/gLiveSupport/src/GLiveSupport.cxx:1814: [4] (shell) system:
This causes a new program to execute and is difficult to use safely.
try using a library call that implements the same functionality if
available.
./src/products/gLiveSupport/src/TestRunner.cxx:199: [3] (buffer) getopt_long:
Some older implementations do not protect against internal buffer
overflows . Check implementation on installation, or limit the size of all
string inputs.
./src/products/gLiveSupport/src/AudioPlayerTest.cxx:244: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
audioPlayer->open(*audioClip->getUri())
./src/products/gLiveSupport/src/AudioPlayerTest.cxx:288: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
./src/products/gLiveSupport/src/GLiveSupport.cxx:1803: [4] (shell) system:
This causes a new program to execute and is difficult to use safely.
try using a library call that implements the same functionality if
available.
system(schedulerDaemonStartCommand->c_str());
./src/products/gLiveSupport/src/GLiveSupport.cxx:1814: [4] (shell) system:
This causes a new program to execute and is difficult to use safely.
try using a library call that implements the same functionality if
available.
system(schedulerDaemonStopCommand->c_str());
./src/modules/authentication/src/TestRunner.cxx:195: [3] (buffer) getopt_long:
Some older implementations do not protect against internal buffer
overflows . Check implementation on installation, or limit the size of all
string inputs.
./src/modules/core/src/TestRunner.cxx:195: [3] (buffer) getopt_long:
Some older implementations do not protect against internal buffer
overflows . Check implementation on installation, or limit the size of all
string inputs.
./src/modules/core/src/Uuid.cxx:286: [3] (random) srand:
This function is not sufficiently random for security-related
functions such as key and nonce creation. use a more secure technique for
acquiring random values.
./src/modules/db/src/TestRunner.cxx:195: [3] (buffer) getopt_long:
Some older implementations do not protect against internal buffer
overflows . Check implementation on installation, or limit the size of all
string inputs.
./src/modules/eventScheduler/src/TestRunner.cxx:195: [3] (buffer) getopt_long:
Some older implementations do not protect against internal buffer
overflows . Check implementation on installation, or limit the size of all
string inputs.
./src/modules/playlistExecutor/src/TestRunner.cxx:495: [3] (buffer) getopt_long:
Some older implementations do not protect against internal buffer
overflows . Check implementation on installation, or limit the size of all
string inputs.
./src/modules/schedulerClient/src/TestRunner.cxx:195: [3] (buffer) getopt_long:
Some older implementations do not protect against internal buffer
overflows . Check implementation on installation, or limit the size of all
string inputs.
./src/modules/storageClient/src/TestRunner.cxx:195: [3] (buffer) getopt_long:
Some older implementations do not protect against internal buffer
overflows . Check implementation on installation, or limit the size of all
string inputs.
./src/modules/widgets/src/main.cxx:125: [3] (buffer) getopt_long:
Some older implementations do not protect against internal buffer
overflows . Check implementation on installation, or limit the size of all
string inputs.
./src/products/gLiveSupport/src/TestRunner.cxx:199: [3] (buffer) getopt_long:
Some older implementations do not protect against internal buffer
overflows . Check implementation on installation, or limit the size of all
string inputs.
./src/products/gLiveSupport/src/main.cxx:132: [3] (buffer) getopt_long:
Some older implementations do not protect against internal buffer
overflows . Check implementation on installation, or limit the size of all
string inputs.
./src/products/scheduler/src/TestRunner.cxx:212: [3] (buffer) getopt_long:
Some older implementations do not protect against internal buffer
overflows . Check implementation on installation, or limit the size of all
string inputs.
./src/products/scheduler/src/main.cxx:142: [3] (buffer) getopt_long:
Some older implementations do not protect against internal buffer
overflows . Check implementation on installation, or limit the size of all
string inputs.
./src/modules/core/include/LiveSupport/Core/Md5.h:175: [2] (buffer) memcpy:
Does not check for buffer overflows when copying to destination. Make
sure destination can always hold the source data.
./src/modules/core/include/LiveSupport/Core/Uuid.h:108: [2] (buffer) char:
Statically-sized arrays can be overflowed. Perform bounds checking,
use functions that limit length, or ensure that the size is larger than
the maximum possible length.
char nodeId[6];
./src/modules/core/src/BaseTestMethod.cxx:114: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
file.open(fileName.c_str());
./src/modules/core/src/BaseTestMethod.cxx:125: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
file.open(fileName.c_str());
./src/modules/core/src/FileTools.cxx:83: [2] (misc) fopen:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
FILE* file = fopen(path.c_str(), "wb");
./src/modules/core/src/FileTools.cxx:123: [2] (misc) fopen:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
FILE* file = fopen(path.c_str(), "rb");
./src/modules/core/src/FileToolsTest.cxx:125: [2] (misc) fopen:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
file = fopen(fileExtracted.c_str(), "r");
./src/modules/core/src/FileToolsTest.cxx:134: [2] (misc) fopen:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
file = fopen(fileExtracted.c_str(), "r");
./src/modules/core/src/FileToolsTest.cxx:139: [2] (misc) fopen:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
file = fopen(fileExtracted.c_str(), "r");
./src/modules/core/src/LocalizedObject.cxx:325: [2] (buffer) memcpy:
Does not check for buffer overflows when copying to destination. Make
sure destination can always hold the source data.
std::memcpy(strBuf, data, length);
./src/modules/core/src/Md5.cxx:221: [2] (buffer) memcpy:
Does not check for buffer overflows when copying to destination. Make
sure destination can always hold the source data.
./src/modules/core/src/Md5.cxx:235: [2] (buffer) memcpy:
Does not check for buffer overflows when copying to destination. Make
sure destination can always hold the source data.
./src/modules/core/src/Md5.cxx:513: [2] (buffer) memcpy:
Does not check for buffer overflows when copying to destination. Make
sure destination can always hold the source data.
./src/modules/core/src/Md5Test.cxx:106: [2] (misc) fopen:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
FILE *f = fopen("var/md5test.data", "r");
./src/modules/core/src/RdsContainerTest.cxx:79: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
ifs.open(configFileName.c_str());
./src/modules/playlistExecutor/include/LiveSupport/PlaylistExecutor/AudioPlayerInterface.h:156: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
./src/modules/playlistExecutor/src/AudioPlayerFactoryGstreamerTest.cxx:159: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
./src/modules/playlistExecutor/src/GstreamerPlayer.cxx:249: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
./src/modules/playlistExecutor/src/GstreamerPlayer.h:289: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
./src/modules/playlistExecutor/src/GstreamerPlayerTest.cxx:134: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
player->open("file:///tmp/campcaster/test.mp3");
./src/modules/playlistExecutor/src/GstreamerPlayerTest.cxx:170: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
player->open("file:///tmp/campcaster/test.mp3");
./src/modules/playlistExecutor/src/GstreamerPlayerTest.cxx:220: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
./src/modules/playlistExecutor/src/GstreamerPlayerTest.cxx:240: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
./src/modules/playlistExecutor/src/GstreamerPlayerTest.cxx:258: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
./src/modules/playlistExecutor/src/GstreamerPlayerTest.cxx:280: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
./src/modules/playlistExecutor/src/GstreamerPlayerTest.cxx:308: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
./src/modules/playlistExecutor/src/GstreamerPlayerTest.cxx:337: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
./src/modules/playlistExecutor/src/GstreamerPlayerTest.cxx:367: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
./src/modules/playlistExecutor/src/GstreamerPlayerTest.cxx:417: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
player->open("totally/bad/URL");
./src/modules/playlistExecutor/src/GstreamerPlayerTest.cxx:435: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
player->open("file:///tmp/campcaster/test.mp3");
./src/modules/playlistExecutor/src/GstreamerPlayerTest.cxx:444: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
player->open("totally/bad/URL");
./src/modules/playlistExecutor/src/GstreamerPlayerTest.cxx:509: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
player->open("file:///tmp/campcaster/test.mp3");
./src/modules/playlistExecutor/src/GstreamerPlayerTest.cxx:534: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
player->open("file:///tmp/campcaster/test.mp3");
./src/modules/playlistExecutor/src/GstreamerPlayerTest.cxx:563: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
player->open("file:///tmp/campcaster/test.mp3");
./src/modules/playlistExecutor/src/GstreamerPlayerTest.cxx:597: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
./src/modules/playlistExecutor/src/GstreamerPlayerTest.cxx:638: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
./src/modules/playlistExecutor/src/GstreamerPlayerTest.cxx:670: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
player->open(fileName);
./src/modules/playlistExecutor/src/GstreamerPlayerTest.cxx:737: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
./src/modules/playlistExecutor/src/GstreamerPlayerTest.cxx:808: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
player->open("file:///tmp/campcaster/test.mp3");
./src/modules/playlistExecutor/src/GstreamerPlayerTest.cxx:821: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
player2->open("file:///tmp/campcaster/test.mp3");
./src/modules/playlistExecutor/src/TestRunner.cxx:189: [2] (buffer) char:
Statically-sized arrays can be overflowed. Perform bounds checking,
use functions that limit length, or ensure that the size is larger than
the maximum possible length.
char tmp[255]={0};
./src/modules/playlistExecutor/src/TestRunner.cxx:190: [2] (buffer) sprintf:
Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
is low because the source has a constant maximum length.
sprintf(tmp, "file:///tmp/campcaster/%d.ogg", cnt+1);//use when file name needed
./src/modules/playlistExecutor/src/TwoGstreamerPlayersTest.cxx:154: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
./src/modules/playlistExecutor/src/TwoGstreamerPlayersTest.cxx:181: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
player2->open("file:///tmp/campcaster/test.mp3");
./src/modules/playlistExecutor/src/TwoGstreamerPlayersTest.cxx:211: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
./src/modules/playlistExecutor/src/TwoGstreamerPlayersTest.cxx:226: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
player2->open("file:///tmp/campcaster/test.mp3");
./src/modules/schedulerClient/src/SchedulerDaemonXmlRpcClientTest.cxx:427: [2] (misc) fopen:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
file = fopen(extractedTempFileName.c_str(), "r");
./src/modules/schedulerClient/src/SchedulerDaemonXmlRpcClientTest.cxx:436: [2] (misc) fopen:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
file = fopen(extractedTempFileName.c_str(), "r");
./src/modules/schedulerClient/src/SchedulerDaemonXmlRpcClientTest.cxx:441: [2] (misc) fopen:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
file = fopen(extractedTempFileName.c_str(), "r");
./src/products/gLiveSupport/src/AudioPlayerTest.cxx:244: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
audioPlayer->open(*audioClip->getUri())
./src/products/gLiveSupport/src/AudioPlayerTest.cxx:288: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
audioPlayer->open(*playlist->getUri())
./src/products/gLiveSupport/src/GLiveSupport.cxx:1301: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
./src/products/gLiveSupport/src/GLiveSupport.cxx:1310: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
./src/products/gLiveSupport/src/GLiveSupport.cxx:1431: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
cuePlayer->open(*cueItemPlayingNow->getUri());
./src/products/gLiveSupport/src/GLiveSupport.cxx:1440: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
cuePlayer->open(*cueItemPlayingNow->getUri());
./src/products/gLiveSupport/src/GLiveSupport.cxx:1757: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
cuePlayer->open(*testAudioUrl);
./src/products/gLiveSupport/src/GLiveSupportTest.cxx:125: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
ifs.open(configFileName.c_str());
./src/products/gLiveSupport/src/GLiveSupportTest.cxx:129: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
ifs.open(gLiveSupportEtcConfigFileName.c_str());
./src/products/gLiveSupport/src/KeyboardShortcutTest.cxx:79: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
ifs.open(configFileName.c_str());
./src/products/scheduler/src/PlaylistEvent.cxx:161: [2] (misc) open:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
audioPlayer->open(*playlist->getUri());
./src/products/scheduler/src/PostgresqlBackupTest.cxx:200: [2] (misc) fopen:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
file = fopen(extractedTempFileName.c_str(), "r");
./src/products/scheduler/src/PostgresqlBackupTest.cxx:209: [2] (misc) fopen:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
file = fopen(extractedTempFileName.c_str(), "r");
./src/products/scheduler/src/PostgresqlBackupTest.cxx:214: [2] (misc) fopen:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
file = fopen(extractedTempFileName.c_str(), "r");
./src/products/scheduler/src/RpcBackupTest.cxx:267: [2] (misc) fopen:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
file = fopen(extractedTempFileName.c_str(), "r");
./src/products/scheduler/src/RpcBackupTest.cxx:276: [2] (misc) fopen:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
file = fopen(extractedTempFileName.c_str(), "r");
./src/products/scheduler/src/RpcBackupTest.cxx:281: [2] (misc) fopen:
Check when opening files – can an attacker redirect it (via symlinks),
force the opening of special file type (e.g., device files), move
things around to create a race condition, control its ancestors, or change
its contents?.
file = fopen(extractedTempFileName.c_str(), "r");
./src/modules/core/src/Md5.cxx:269: [1] (buffer) read:
Check buffer boundaries if used in a loop.
stream.read((char *)buffer, 1024);
./src/products/scheduler/src/XmlRpcDaemon.cxx:202: [1] (access) umask:
Ensure that umask is given most restrictive possible setting (e.g.,
066 or 077).
umask(uMask);
Hits = 88
Lines analyzed = 100896 in 7.39 seconds (14639 lines/second)
Physical Source Lines of Code (SLOC) = 44430
Hits@level = [0] 0 [1] 2 [2] 66 [3] 18 [4] 2 [5] 0
Hits@level+ = [0+] 88 [1+] 88 [2+] 86 [3+] 20 [4+] 2 [5+] 0
Hits/KSLOC@level+ = [0+] 1.98064 [1+] 1.98064 [2+] 1.93563 [3+] 0.450146 [4+] 0.0450146 [5+] 0
Minimum risk level = 1
Not every hit is necessarily a security vulnerability.
There may be other security vulnerabilities; review your code!