Remote access to the service pipe is not needed and might
be a potential attack vector.
For example, if an attacker manages to get credentials for
a user which is the member of "OpenVPN Administrators" group
on a victim machine, an attacker might be able to communicate
with the privileged interactive service on a victim machine
and start openvpn processes remotely.
CVE: 2024-24974
Microsoft case number: 85925
Reported-by: Vladimir Tokarev <vtokarev@microsoft.com>
Change-Id: I8739c5f127e9ca0683fcdbd099dba9896ae46277
Signed-off-by: Lev Stipakov <lev@openvpn.net>
Acked-by: Heiko Hund <heiko@openvpn.net>
Message-Id: <20240319151723.936-2-lev@openvpn.net>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg28419.html
Signed-off-by: Gert Doering <gert@greenie.muc.de>
(cherry picked from commit 2c1de0f0803360c0a6408f754066bd3a6fb28237)
| ... | ... |
@@ -2168,7 +2168,7 @@ CreateClientPipeInstance(VOID) |
| 2168 | 2168 |
|
| 2169 | 2169 |
openvpn_swprintf(pipe_name, _countof(pipe_name), TEXT("\\\\.\\pipe\\" PACKAGE "%ls\\service"), service_instance);
|
| 2170 | 2170 |
pipe = CreateNamedPipe(pipe_name, flags, |
| 2171 |
- PIPE_TYPE_MESSAGE | PIPE_READMODE_MESSAGE, |
|
| 2171 |
+ PIPE_TYPE_MESSAGE | PIPE_READMODE_MESSAGE | PIPE_REJECT_REMOTE_CLIENTS, |
|
| 2172 | 2172 |
PIPE_UNLIMITED_INSTANCES, 1024, 1024, 0, NULL); |
| 2173 | 2173 |
if (pipe == INVALID_HANDLE_VALUE) |
| 2174 | 2174 |
{
|