> уязвимость (CVE-2016-1281)https://github.com/veracrypt/VeraCrypt/commit/5872be28a243ac...
+static void LoadSystemDll (LPCTSTR szModuleName, HMODULE *pHandle)
+{
+ wchar_t dllPath[MAX_PATH];
+
+ /* Load dll explictely from System32 to avoid Dll hijacking attacks*/
+ if (!GetSystemDirectory(dllPath, MAX_PATH))
+ StringCbCopyW(dllPath, sizeof(dllPath), L"C:\\Windows\\System32");
+
Н-да. Прям ... не встать. Обратная совместимость (и заодно, назначение виноватых) а ля ынтырпрайз эдишн.
Этой "уязвимости" уже -цать лет. Только она не в VeraCrypte и еще в куче другого софта, а в "гениальном" загрузчике, подгружаещем первую попавшуюся либу по списку "текущая директория:дир. с екзешником:$WINDOWS:$WINDOWS\system:eще куча:$PATH"
Но да, загрузчик конечно же не при чем – ведь кому, как не злобному разрабу лучше знать и контролировать, откуда правильнее и лучше грузить системные либы *рукалицо*
Просто тогда это была типа фичи или особенности загрузчика, так же довольно широко используемая в узких круга REшников, да и малварь одно время не брезговала таким простым способом заинжектить ДЛЛку.
Помню, RTF документ, плюс самописная, "скрытая" riched20.dll (честно при автозагрузке предуреждавшая, что она скомпилирована урезанной версией шестой вижуал студии типа "Introductory Edition" )) даже когда-то на дискете видел.
И да, при желании можно вполне нагуглить "пруфцы"
https://www.sans.org/security-resources/malwarefaq/32-nimda-... (2001 год)
> worm looks for .DOC and .EML files on remote systems
> when it finds these files, it copies its binary image with RICHED20.DLL name with system and
> hidden attributes to folders where these files reside (RICHED20.DLL is used to open OLE files)