Skip to content

Commit ae6b497

Browse files
committed
Prevent directory traversal in UDR module loading
2 parents 4e0bfa7 + a319cd5 commit ae6b497

1 file changed

Lines changed: 3 additions & 1 deletion

File tree

src/plugins/udr_engine/UdrEngine.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -507,7 +507,9 @@ UdrPluginImpl* Engine::loadModule(ThrowStatusWrapper* status, IRoutineMetadata*
507507

508508
*moduleName = PathName(str.substr(0, pos).c_str());
509509
// Do not allow module names with directory separators as a security measure.
510-
if (moduleName->find_first_of("/\\") != string::npos)
510+
if (moduleName->find_first_of("/\\") != string::npos ||
511+
moduleName->equals(PathUtils::up_dir_link) ||
512+
moduleName->isEmpty())
511513
{
512514
static const ISC_STATUS statusVector[] = {
513515
isc_arg_gds, isc_random,

0 commit comments

Comments
 (0)