Skip to content

Commit

Permalink
v2.8.6
Browse files Browse the repository at this point in the history
  • Loading branch information
bernerdad committed Dec 14, 2023
1 parent 7a34e16 commit 9d1fa01
Show file tree
Hide file tree
Showing 5 changed files with 28 additions and 4 deletions.
7 changes: 7 additions & 0 deletions client/common/changelog.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
2.8.6 (13/12/2023)
All:
* Updated connected DNS utility (ctrld) to v1.3.2.
Windows:
* Fixed installer/uninstaller local privilege escalation vulnerability. #828


2.8.5 (04/12/2023)
All:
* Fixed some text in preferences not matching with mobile. #826
Expand Down
4 changes: 2 additions & 2 deletions client/common/version/windscribe_version.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@

#define WINDSCRIBE_MAJOR_VERSION 2
#define WINDSCRIBE_MINOR_VERSION 8
#define WINDSCRIBE_BUILD_VERSION 5
#define WINDSCRIBE_BUILD_VERSION 6

// only one of these should be enabled; neither -> stable
#define WINDSCRIBE_IS_BETA
//#define WINDSCRIBE_IS_BETA
//#define WINDSCRIBE_IS_GUINEA_PIG

#define STR_HELPER(x) #x
Expand Down
12 changes: 12 additions & 0 deletions installer/windows/bootstrap/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,18 @@
#include "archive/archive.h"
#include "wsscopeguard.h"

// Set the DLL load directory to the system directory before entering WinMain().
struct LoadSystemDLLsFromSystem32
{
LoadSystemDLLsFromSystem32()
{
// Remove the current directory from the search path for dynamically loaded
// DLLs as a precaution. This call has no effect for delay load DLLs.
SetDllDirectory(L"");
SetDefaultDllDirectories(LOAD_LIBRARY_SEARCH_SYSTEM32);
}
} loadSystemDLLs;

static constexpr DWORD kMinOSBuildNumber = 17763;

static int showMessageBox(HWND hOwner, LPCTSTR szTitle, UINT nStyle, LPCTSTR szFormat, ...)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,10 @@ InstallSplitTunnel::InstallSplitTunnel(double weight) : IInstallBlock(weight, L"
int InstallSplitTunnel::executeStep()
{
wstring infFile = Path::append(Settings::instance().getPath(), L"splittunnel\\windscribesplittunnel.inf");
wstring commandLine = wstring(L"setupapi,InstallHinfSection DefaultInstall 132 ") + infFile;
wstring commandLine =
Path::append(Utils::GetSystemDir(), L"setupapi.dll") +
L",InstallHinfSection DefaultInstall 132 " +
infFile;

if (!filesystem::exists(infFile)) {
Log::instance().out("WARNING: the split tunnel driver inf (%ls) was not found.", infFile.c_str());
Expand Down
4 changes: 3 additions & 1 deletion installer/windows/uninstaller/uninstall.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -218,7 +218,9 @@ bool Uninstaller::InitializeUninstall()
void Uninstaller::UninstallSplitTunnelDriver(const wstring& installationPath)
{
wostringstream commandLine;
commandLine << L"setupapi,InstallHinfSection DefaultUninstall 132 " << Path::append(installationPath, L"splittunnel\\windscribesplittunnel.inf");
commandLine << Path::append(Utils::GetSystemDir(), L"setupapi.dll")
<< L",InstallHinfSection DefaultUninstall 132 "
<< Path::append(installationPath, L"splittunnel\\windscribesplittunnel.inf");

wstring appName = Path::append(Utils::GetSystemDir(), L"rundll32.exe");

Expand Down

0 comments on commit 9d1fa01

Please sign in to comment.