Происходит это в случае запуска с параметром вроде:
nmap t |
Как видно из рисунка ниже, nmap пытается загрузить библиотеку airpcap.dll, обращаясь кроме своей рабочей директории, в директории, перечисленные в переменной окружения %PATH%

В случае наличия доступа к папке, попадающей в список %PATH% мы можем выполнить произвольный код:

Сама по себе уязвимость не особо страшная, т.к. нужно иметь хоть какой-то доступ компьютеру жертвы. Но в принципе в определённых ситуациях может использоваться для повышения привилегий.
В случае использования zenmap попытка загрузки библиотеки срабатывает, когда происходит работа с профилем (редактирование существующего или создание нового).
Я связался с разработчиками по этому поводу. Однако, вряд ли в скором времени появится какое-либо решение. Если вообще появится:
Thanks for the note. It is certainly important for users to be careful about their DLL paths. If some program (like Borland CaliberRM, apparently) adds to the DLL path and then a malicious party is able to write DLLs to that directory, they can perform DLL hijacking against Nmap (and many other programs). This is true with Linx shared libraries too, but I think people are more careful about their shared library paths there (and the platform itself is more secure). Cheers, Fyodor |
В предыдущей версии nmap для защиты от таких вещей было принято такое изменение:
Nmap 5.50 and above contain this change to reduce the risk of DLL hijacking: o Restrict the default Windows DLL search path by removing the current directory. This adds extra protection against DLL hijacking attacks, especially if we were to add file type associations to Nmap in the future. We implement this with the SetDllDirectory function when available (Windows XP SP1 and later). Otherwise, we call SetCurrentDirectory with the directory containing the executable. [David] |
Так что следите за своими переменными окружения :)