mirror of
https://github.com/curl/curl.git
synced 2026-08-24 10:53:32 +03:00
loadlibrary: Only load system DLLs from the system directory
Inspiration provided by: Daniel Stenberg and Ray Satiro Bug: https://curl.haxx.se/docs/adv_20160530.html Ref: Windows DLL hijacking with curl, CVE-2016-4802
This commit is contained in:
parent
ddf25f6b28
commit
6df916d751
7 changed files with 180 additions and 8 deletions
|
|
@ -51,6 +51,7 @@
|
|||
#include "telnet.h"
|
||||
#include "connect.h"
|
||||
#include "progress.h"
|
||||
#include "system_win32.h"
|
||||
|
||||
#define TELOPTS
|
||||
#define TELCMDS
|
||||
|
|
@ -1334,7 +1335,7 @@ static CURLcode telnet_do(struct connectdata *conn, bool *done)
|
|||
|
||||
/* OK, so we have WinSock 2.0. We need to dynamically */
|
||||
/* load ws2_32.dll and get the function pointers we need. */
|
||||
wsock2 = LoadLibrary(TEXT("WS2_32.DLL"));
|
||||
wsock2 = Curl_load_library(TEXT("WS2_32.DLL"));
|
||||
if(wsock2 == NULL) {
|
||||
failf(data, "failed to load WS2_32.DLL (%d)", ERRNO);
|
||||
return CURLE_FAILED_INIT;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue