0
0
mirror of https://github.com/OpenVPN/openvpn.git synced 2024-09-19 19:42:30 +02:00
OpenVPN is an open source VPN daemon
Go to file
Steffan Karger c560f95e70
Fix bounds check in read_key()
The bounds check in read_key() was performed after using the value, instead
of before.  If 'key-method 1' is used, this allowed an attacker to send a
malformed packet to trigger a stack buffer overflow.

Fix this by moving the input validation to before the writes.

Note that 'key-method 1' has been replaced by 'key method 2' as the default
in OpenVPN 2.0 (released on 2005-04-17), and explicitly deprecated in 2.4
and marked for removal in 2.5.  This should limit the amount of users
impacted by this issue.

CVE: 2017-12166
Signed-off-by: Steffan Karger <steffan.karger@fox-it.com>
Acked-by: Gert Doering <gert@greenie.muc.de>
Acked-by: David Sommerseth <davids@openvpn.net>
Message-Id: <80690690-67ac-3320-1891-9fecedc6a1fa@fox-it.com>
URL: https://www.mail-archive.com/search?l=mid&q=80690690-67ac-3320-1891-9fecedc6a1fa@fox-it.com
Signed-off-by: David Sommerseth <davids@openvpn.net>
(cherry picked from commit fce3437529)
2017-09-22 01:31:22 +02:00
contrib Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
debug Change to doval valgrind script. The openvpn command parameter is now 2009-10-25 15:44:28 +00:00
easy-rsa Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
images Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
install-win32 Attempt to fix issue where domake-win build system was not properly 2010-08-20 20:24:42 +00:00
management Added the ability for the server to provide a custom reason string 2009-09-29 23:10:14 +00:00
msvc Updated MSVC build scripts to Visual Studio 2008: 2010-03-31 06:38:21 +00:00
plugin Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
sample-config-files Added "--server-bridge" (without parameters) to enable 2008-08-02 08:02:53 +00:00
sample-keys Renamed sample-keys/tmp-ca.crt to ca.crt. 2005-10-01 11:10:12 +00:00
sample-scripts version 2.1_beta1 2005-09-26 07:40:02 +00:00
service-win32 Windows security issue: 2010-08-15 21:53:00 +00:00
suse This is the start of the BETA21 branch. 2005-09-26 05:28:27 +00:00
tap-win32 Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
win Attempt to fix issue where domake-win build system was not properly 2010-08-20 20:24:42 +00:00
.svnignore Updated MSVC build scripts to Visual Studio 2008: 2010-03-31 06:38:21 +00:00
acinclude.m4 Moved branch into official BETA21 position. 2008-05-12 20:31:43 +00:00
AUTHORS This is the start of the BETA21 branch. 2005-09-26 05:28:27 +00:00
base64.c Moved branch into official BETA21 position. 2008-05-12 20:31:43 +00:00
base64.h Added --auto-proxy directive to auto-detect HTTP or SOCKS 2005-12-12 19:46:10 +00:00
basic.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
buffer.c Fixed an issue where application payload transmissions on the 2010-07-27 07:10:01 +00:00
buffer.h Fixed an issue where application payload transmissions on the 2010-07-27 07:10:01 +00:00
ChangeLog Prepared for a OpenVPN v2.1.4 release 2010-11-04 20:35:50 +01:00
circ_list.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
common.h Implemented a key/value auth channel from client to server. 2010-06-01 07:12:27 +00:00
config-win32.h Minor fixes to recent HTTP proxy changes: 2010-05-11 19:47:03 +00:00
configure.ac Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
COPYING Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
COPYRIGHT.GPL This is the start of the BETA21 branch. 2005-09-26 05:28:27 +00:00
crypto.c Fix bounds check in read_key() 2017-09-22 01:31:22 +02:00
crypto.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
cryptoapi.c Fixed issue introduced in r4475 (2.1-rc17) where cryptoapi.c change 2009-06-07 06:44:11 +00:00
cryptoapi.h This is the start of the BETA21 branch. 2005-09-26 05:28:27 +00:00
dhcp.c Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
dhcp.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
doclean Minor change to doclean script: 2010-04-17 02:23:50 +00:00
domake-win Updated Windows build scripts to package openssl-0.9.8k, 2009-05-13 13:36:23 +00:00
doval Change to doval valgrind script. The openvpn command parameter is now 2009-10-25 15:44:28 +00:00
dovalns Updated version to 2.1_rc7e. 2008-06-11 08:45:09 +00:00
errlevel.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
error.c Added "net stop dnscache" and "net start dnscache" in front 2010-07-27 21:46:34 +00:00
error.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
event.c Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
event.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
fdmisc.c Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
fdmisc.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
forward-inline.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
forward.c Implemented http-proxy-override and http-proxy-fallback directives to make it 2010-05-24 22:51:16 +00:00
forward.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
fragment.c Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
fragment.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
gremlin.c Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
gremlin.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
helper.c Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
helper.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
httpdigest.c Minor fixes to recent HTTP proxy changes: 2010-05-11 19:47:03 +00:00
httpdigest.h Minor fixes to recent HTTP proxy changes: 2010-05-11 19:47:03 +00:00
ieproxy.c Moved branch into official BETA21 position. 2008-05-12 20:31:43 +00:00
ieproxy.h Removed spurious executable propset from 2006-06-26 01:35:18 +00:00
init.c Added --register-dns option for Windows. 2010-07-16 18:01:11 +00:00
init.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
INSTALL Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
INSTALL-win32.txt VERSION 2.1_rc5 2008-01-23 21:08:22 +00:00
integer.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
interval.c Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
interval.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
list.c Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
list.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
lladdr.c Completely revamped the system for calling external programs and scripts: 2008-07-26 07:27:03 +00:00
lladdr.h Added --lladdr option to specify the link layer (MAC) address 2006-04-13 21:09:04 +00:00
lzo.c Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
lzo.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
Makefile.am Distribute win directory (Python/MSVC-based build system) 2010-08-09 20:15:27 +00:00
manage.c Implemented a key/value auth channel from client to server. 2010-06-01 07:12:27 +00:00
manage.h Implemented a key/value auth channel from client to server. 2010-06-01 07:12:27 +00:00
mbuf.c Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
mbuf.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
memcmp.c Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
memdbg.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
misc.c Implemented http-proxy-override and http-proxy-fallback directives to make it 2010-05-24 22:51:16 +00:00
misc.h Implemented http-proxy-override and http-proxy-fallback directives to make it 2010-05-24 22:51:16 +00:00
mroute.c Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
mroute.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
mss.c Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
mss.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
mtcp.c Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
mtcp.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
mtu.c Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
mtu.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
mudp.c Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
mudp.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
multi.c Implemented a key/value auth channel from client to server. 2010-06-01 07:12:27 +00:00
multi.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
NEWS This is the start of the BETA21 branch. 2005-09-26 05:28:27 +00:00
ntlm.c Fixed some compile-time warnings. 2009-01-27 19:32:46 +00:00
ntlm.h This is the start of the BETA21 branch. 2005-09-26 05:28:27 +00:00
occ-inline.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
occ.c Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
occ.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
openvpn-plugin.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
openvpn.8 Added warning about tls-remote in man page. 2010-08-10 17:31:31 +00:00
openvpn.c Implemented http-proxy-override and http-proxy-fallback directives to make it 2010-05-24 22:51:16 +00:00
openvpn.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
openvpn.spec.in Fixed some breakage in openvpn.spec (which is required to build an 2009-12-11 23:44:34 +00:00
options.c Added "net stop dnscache" and "net start dnscache" in front 2010-07-27 21:46:34 +00:00
options.h Implemented a key/value auth channel from client to server. 2010-06-01 07:12:27 +00:00
otime.c Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
otime.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
packet_id.c Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
packet_id.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
perf.c Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
perf.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
pf-inline.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
pf.c Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
pf.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
ping-inline.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
ping.c Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
ping.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
pkcs11.c Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
pkcs11.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
plugin.c Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
plugin.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
pool.c Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
pool.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
PORTS Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
proto.c Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
proto.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
proxy.c Fixed issue where bad creds provided by the management interface 2010-06-10 03:17:21 +00:00
proxy.h Implemented http-proxy-override and http-proxy-fallback directives to make it 2010-05-24 22:51:16 +00:00
ps.c Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
ps.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
push.c Implemented a key/value auth channel from client to server. 2010-06-01 07:12:27 +00:00
push.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
pushlist.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
README Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
reliable.c Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
reliable.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
route.c Fix problem with special case route targets ('remote_host') 2010-11-04 20:29:53 +01:00
route.h Implemented a key/value auth channel from client to server. 2010-06-01 07:12:27 +00:00
schedule.c Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
schedule.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
session_id.c Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
session_id.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
shaper.c Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
shaper.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
sig.c Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
sig.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
socket.c Fixed typo: missing comment close. 2010-07-26 18:26:49 +00:00
socket.h Implemented multi-address DNS expansion on the network field of route 2010-07-12 01:55:54 +00:00
socks.c Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
socks.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
sources Incremented version to 2.1_rc7d. 2008-06-04 05:16:44 +00:00
ssl.c Drop too-short control channel packets instead of asserting out. 2014-11-28 20:35:48 +01:00
ssl.h Fixed an issue where application payload transmissions on the 2010-07-27 07:10:01 +00:00
status.c Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
status.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
syshead.h Fixed an issue where application payload transmissions on the 2010-07-27 07:10:01 +00:00
t_cltsrv-down.sh Updated openvpn/t_cltsrv.sh (used by "make check") to conform to new 2008-08-10 18:49:28 +00:00
t_cltsrv.sh Updated openvpn/t_cltsrv.sh (used by "make check") to conform to new 2008-08-10 18:49:28 +00:00
t_lpback.sh svn merge -r 771:780 $SO/trunk/openvpn 2005-11-05 07:42:33 +00:00
thread.c Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
thread.h Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
tun.c Added "net stop dnscache" and "net start dnscache" in front 2010-07-27 21:46:34 +00:00
tun.h Added --register-dns option for Windows. 2010-07-16 18:01:11 +00:00
version.m4 Prepared for a OpenVPN v2.1.4 release 2010-11-04 20:35:50 +01:00
win32.c Added --register-dns option for Windows. 2010-07-16 18:01:11 +00:00
win32.h Added "net stop dnscache" and "net start dnscache" in front 2010-07-27 21:46:34 +00:00

OpenVPN -- A Secure tunneling daemon

Copyright (C) 2002-2010 OpenVPN Technologies, Inc. This program is free software;
you can redistribute it and/or modify
it under the terms of the GNU General Public License version 2
as published by the Free Software Foundation.

*************************************************************************

For the latest version of OpenVPN, go to:

	http://openvpn.net/

To Build and Install,

	./configure
	make
	make install

or see the file INSTALL for more info.

*************************************************************************

For detailed information on OpenVPN, including examples, see the man page
  http://openvpn.net/man.html

For a sample VPN configuration, see
  http://openvpn.net/howto.html

For a description of OpenVPN's underlying protocol,
  see the file ssl.h included in the source distribution.

*************************************************************************

Other Files & Directories:

* INSTALL-win32.txt -- installation instructions
  for Windows

* configure.ac -- script to rebuild our configure
  script and makefile.

* openvpn.spec -- RPM Spec file
  To build an OpenVPN binary RPM, use the command:

	rpmbuild -tb [tarball]

  When you install the binary RPM, it will automatically
  install sample-scripts/openvpn.init (see below)

* sample-scripts/openvpn.init

  A sample init script for OpenVPN.  See the file for
  comments and additional information.

* sample-scripts/verify-cn

  A sample perl script which can be used with OpenVPN's
  --tls-verify option to provide a customized authentication
  test on embedded X509 certificate fields.

* sample-keys/

  Sample RSA keys and certificates.  DON'T USE THESE FILES
  FOR ANYTHING OTHER THAN TESTING BECAUSE THEY ARE TOTALLY INSECURE.

* sample-config-files/

  A collection of OpenVPN config files and scripts from
  the HOWTO at http://openvpn.net/howto.html

* easy-rsa/

  A simple guide to RSA key management, scripts included.
  Also see http://openvpn.net/easyrsa.html