After update to 3.5.2 the Tunnelblick was issue: dh key too small

2,771 views
Skip to first unread message

kazm...@n7ya.ru

unread,
Jun 16, 2015, 6:43:35 AM6/16/15
to tunnelbli...@googlegroups.com
Hi all.


Help me to resolve my issue.
Please see log file of Tunnelblick:


2015-06-16 12:29:42 *Tunnelblick: OS X 10.10.3; Tunnelblick 3.5.2 (build 4270.4346); prior version 3.6beta06 (build 4346)

2015-06-16 12:29:43 *Tunnelblick: Attempting connection with home; Set nameserver = 1; monitoring connection

2015-06-16 12:29:43 *Tunnelblick: openvpnstart start home.tblk 1337 1 0 3 0 16688 -ptADGNWradsgnw 2.3.6

2015-06-16 12:29:44 *Tunnelblick: openvpnstart log:

     OpenVPN started successfully. Command used to start OpenVPN (one argument per displayed line):

     

          /Applications/Tunnelblick.app/Contents/Resources/openvpn/openvpn-2.3.6/openvpn

          --daemon

          --log

          /Library/Application Support/Tunnelblick/Logs/-SLibrary-SApplication Support-STunnelblick-SShared-Shome.tblk-SContents-SResources-Sconfig.ovpn.1_0_3_0_16688.1337.openvpn.log

          --cd

          /Library/Application Support/Tunnelblick/Shared/home.tblk/Contents/Resources

          --config

          /Library/Application Support/Tunnelblick/Shared/home.tblk/Contents/Resources/config.ovpn

          --cd

          /Library/Application Support/Tunnelblick/Shared/home.tblk/Contents/Resources

          --management

          127.0.0.1

          1337

          --management-query-passwords

          --management-hold

          --script-security

          2

          --up

          /Applications/Tunnelblick.app/Contents/Resources/client.up.tunnelblick.sh -d -f -m -w -ptADGNWradsgnw

          --down

          /Applications/Tunnelblick.app/Contents/Resources/client.down.tunnelblick.sh -d -f -m -w -ptADGNWradsgnw


2015-06-16 12:29:43 OpenVPN 2.3.6 x86_64-apple-darwin [SSL (OpenSSL)] [LZO] [PKCS11] [MH] [IPv6] built on Jun 12 2015

2015-06-16 12:29:43 library versions: OpenSSL 1.0.1o 12 Jun 2015, LZO 2.08

2015-06-16 12:29:43 *Tunnelblick: openvpnstart starting OpenVPN

2015-06-16 12:29:44 *Tunnelblick: Established communication with OpenVPN

2015-06-16 12:29:44 NOTE: the current --script-security setting may allow this configuration to call user-defined scripts

2015-06-16 12:29:44 Control Channel Authentication: tls-auth using INLINE static key file

2015-06-16 12:29:44 UDPv4 link local: [undef]

2015-06-16 12:29:44 UDPv4 link remote: [AF_INET]my-ext-ip:1194

2015-06-16 12:29:45 TLS_ERROR: BIO read tls_read_plaintext error: error:14082174:SSL routines:SSL3_CHECK_CERT_AND_ALGORITHM:dh key too small

2015-06-16 12:29:45 TLS Error: TLS object -> incoming plaintext read error

2015-06-16 12:29:45 TLS Error: TLS handshake failed

2015-06-16 12:29:45 SIGUSR1[soft,tls-error] received, process restarting

2015-06-16 12:29:45 NOTE: the current --script-security setting may allow this configuration to call user-defined scripts

2015-06-16 12:29:45 Control Channel Authentication: tls-auth using INLINE static key file

2015-06-16 12:29:45 UDPv4 link local: [undef]

2015-06-16 12:29:45 UDPv4 link remote: [AF_INET]my-ext-ip:1194

2015-06-16 12:29:45 TLS_ERROR: BIO read tls_read_plaintext error: error:14082174:SSL routines:SSL3_CHECK_CERT_AND_ALGORITHM:dh key too small

2015-06-16 12:29:45 TLS Error: TLS object -> incoming plaintext read error

2015-06-16 12:29:45 TLS Error: TLS handshake failed

2015-06-16 12:29:45 SIGUSR1[soft,tls-error] received, process restarting

2015-06-16 12:29:45 NOTE: the current --script-security setting may allow this configuration to call user-defined scripts

2015-06-16 12:29:45 Control Channel Authentication: tls-auth using INLINE static key file

2015-06-16 12:29:45 UDPv4 link local: [undef]

2015-06-16 12:29:45 UDPv4 link remote: [AF_INET]my-ext-ip:1194

2015-06-16 12:29:45 TLS_ERROR: BIO read tls_read_plaintext error: error:14082174:SSL routines:SSL3_CHECK_CERT_AND_ALGORITHM:dh key too small

2015-06-16 12:29:45 TLS Error: TLS object -> incoming plaintext read error

2015-06-16 12:29:45 TLS Error: TLS handshake failed

2015-06-16 12:29:45 SIGUSR1[soft,tls-error] received, process restarting

2015-06-16 12:29:45 NOTE: the current --script-security setting may allow this configuration to call user-defined scripts

2015-06-16 12:29:45 Control Channel Authentication: tls-auth using INLINE static key file

2015-06-16 12:29:45 UDPv4 link local: [undef]

2015-06-16 12:29:45 UDPv4 link remote: [AF_INET]my-ext-ip:1194

2015-06-16 12:29:45 TLS_ERROR: BIO read tls_read_plaintext error: error:14082174:SSL routines:SSL3_CHECK_CERT_AND_ALGORITHM:dh key too small

2015-06-16 12:29:45 TLS Error: TLS object -> incoming plaintext read error

2015-06-16 12:29:45 TLS Error: TLS handshake failed

2015-06-16 12:29:45 SIGUSR1[soft,tls-error] received, process restarting

2015-06-16 12:29:45 NOTE: the current --script-security setting may allow this configuration to call user-defined scripts

2015-06-16 12:29:45 Control Channel Authentication: tls-auth using INLINE static key file

2015-06-16 12:29:45 UDPv4 link local: [undef]

2015-06-16 12:29:45 UDPv4 link remote: [AF_INET]my-ext-ip:1194

2015-06-16 12:29:45 TLS_ERROR: BIO read tls_read_plaintext error: error:14082174:SSL routines:SSL3_CHECK_CERT_AND_ALGORITHM:dh key too small

2015-06-16 12:29:45 TLS Error: TLS object -> incoming plaintext read error

2015-06-16 12:29:45 TLS Error: TLS handshake failed

2015-06-16 12:29:45 SIGUSR1[soft,tls-error] received, process restarting

2015-06-16 12:29:45 NOTE: the current --script-security setting may allow this configuration to call user-defined scripts

2015-06-16 12:29:45 Control Channel Authentication: tls-auth using INLINE static key file

2015-06-16 12:29:45 UDPv4 link local: [undef]

…. and etc

jkbull...gmail.com

unread,
Jun 16, 2015, 7:06:06 AM6/16/15
to tunnelbli...@googlegroups.com, kazm...@n7ya.ru
See https://groups.google.com/d/msg/tunnelblick-discuss/1Cjj6Ybv_GM/Ek4pc3waaOUJ.

You will need to change keys on both the server and client. If you didn't create the keys originally and cannot do it yourself, you may need to contact the person/organization that provided you with the configuration file, which could be your router manufacturer (if your router is acting as the OpenVPN server).

Petr Kazmin

unread,
Jun 16, 2015, 8:05:29 AM6/16/15
to tunnelbli...@googlegroups.com, kazm...@n7ya.ru
As an OpenVPN Server I use the  ASUS RT-N66U router with firmware from Merlin.
And from http interface at OpenVPN Server I can not change dh key.
Before update the Tunnelblick OpenVPN worked.
After the Tunnelblick upgrade the connection to OpenVPN Server doesn't work (see log file above).
I tried to re-configure the OpenVPN Server and update configuration file on the client computer.

But this is to no avail.

вторник, 16 июня 2015 г., 14:06:06 UTC+3 пользователь jkbull...gmail.com написал:

jkbull...gmail.com

unread,
Jun 16, 2015, 8:19:51 AM6/16/15
to tunnelbli...@googlegroups.com, kazm...@n7ya.ru
It appears you have to choose among several choices:
  • Get Merlin to fix the firmware; or
  • Replace the Merlin firmware with firmware from someone else which supports larger keys; or
  • Get a new router with firmware that supports larger keys; or
  • Use Tunnelblick 3.5.0 and have your VPN vulnerable to the Logjam attack.

Randy Witlicki

unread,
Jun 16, 2015, 8:56:34 AM6/16/15
to tunnelbli...@googlegroups.com, kazm...@n7ya.ru

  From looking at:
  
  It appears that the latest Merlin firmware uses OpenSSL 1.0.2c ("LogJam" was fixed in 1.0.2b).

contains the line:  "*) Reject DH handshakes with parameters shorter than 768 bits." as the last item of the changes made on June 11.


  - Randy


--
You received this message because you are subscribed to the Google Groups "tunnelblick-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tunnelblick-dis...@googlegroups.com.
Visit this group at http://groups.google.com/group/tunnelblick-discuss.
For more options, visit https://groups.google.com/d/optout.

jkbull...gmail.com

unread,
Jun 16, 2015, 9:31:06 AM6/16/15
to tunnelbli...@googlegroups.com, randy.w...@valley.net, kazm...@n7ya.ru
@randywitlicki - Thanks -- that means that if you update Merlin you won't be able to connect even if you are using an old version of Tunnelblick.

One question is whether Merlin can generate keys larger than 768 bits. That isn't stated and I don't know -- I don't know if Merlin generates the keys or if they are generated externally and loaded into the router from that external source.

In any case, this is a problem with the keys used with Merlin and that discussion should probably take place on some Merlin forum, not on this Tunnelblick forum.


On Tuesday, June 16, 2015 at 8:56:34 AM UTC-4, randywitlicki wrote:

  From looking at:
  
  It appears that the latest Merlin firmware uses OpenSSL 1.0.2c ("LogJam" was fixed in 1.0.2b).

contains the line:  "*) Reject DH handshakes with parameters shorter than 768 bits." as the last item of the changes made on June 11.


  - Randy


mrei...@gmail.com

unread,
Jun 16, 2015, 10:30:44 AM6/16/15
to tunnelbli...@googlegroups.com, kazm...@n7ya.ru, randy.w...@valley.net
I am having the exact same problem.
I am using a AC87 with RMerlin fw, most recent build(couple of days old).
However if i use Shimo, another openvpn client, to connect it works.
Looking at the changelog date and the latest stable build release date it looks like it just missed inclusion.
I have asked for more info on the snb site.

Op dinsdag 16 juni 2015 15:31:06 UTC+2 schreef jkbull...gmail.com:

inass...@gmail.com

unread,
Jun 16, 2015, 2:12:38 PM6/16/15
to tunnelbli...@googlegroups.com
I have the same issue with the following version:

2015-06-16 11:31:19 *Tunnelblick: OS X 10.10.3; Tunnelblick 3.6beta06 (build 4346); prior version 3.6beta04 (build 4340)
2015-06-16 11:31:19 *Tunnelblick: Attempting connection with client; Set nameserver = 1; monitoring connection
2015-06-16 11:31:19 *Tunnelblick: openvpnstart start client.tblk 1337 1 0 3 0 16688 -ptADGNWradsgnw 2.3.6
                                        t from [AF_INET]23.24.136.97:1194, sid=17caf859 fb381ca5
2015-06-16 11:31:19 *Tunnelblick: openvpnstart starting OpenVPN
2015-06-16 11:31:21 *Tunnelblick: openvpnstart log:

     OpenVPN started successfully. Command used to start OpenVPN (one argument per displayed line):
    
          /Applications/Tunnelblick.app/Contents/Resources/openvpn/openvpn-2.3.6/openvpn
          --daemon
          --log
          /Library/Application Support/Tunnelblick/Logs/-SLibrary-SApplication Support-STunnelblick-SShared-Sclient.tblk-SContents-SResources-Sconfig.ovpn.1_0_3_0_16688.1337.openvpn.log
          --cd
          /Library/Application Support/Tunnelblick/Shared/client.tblk/Contents/Resources
          --verb
          3
          --config
          /Library/Application Support/Tunnelblick/Shared/client.tblk/Contents/Resources/config.ovpn
          --cd
          /Library/Application Support/Tunnelblick/Shared/client.tblk/Contents/Resources

          --management
          127.0.0.1
          1337
          --management-query-passwords
          --management-hold
          --script-security
          2
          --up
          /Applications/Tunnelblick.app/Contents/Resources/client.up.tunnelblick.sh -d -f -m -w -ptADGNWradsgnw
          --down
          /Applications/Tunnelblick.app/Contents/Resources/client.down.tunnelblick.sh -d -f -m -w -ptADGNWradsgnw

2015-06-16 11:31:21 *Tunnelblick: Established communication with OpenVPN
2015-06-16 11:31:36 VERIFY OK: depth=1, C=TW, ST=TW, L=Taipei, O=ASUS, CN=RT-AC66U, emailAddress=m...@myhost.mydomain
2015-06-16 11:31:36 VERIFY OK: nsCertType=SERVER
2015-06-16 11:31:36 VERIFY OK: depth=0, C=TW, ST=TW, L=Taipei, O=ASUS, CN=RT-AC66U, emailAddress=m...@myhost.mydomain
2015-06-16 11:31:36 TLS_ERROR: BIO read tls_read_plaintext error: error:14082174:SSL routines:ssl3_check_cert_and_algorithm:dh key too small
2015-06-16 11:31:36 TLS Error: TLS object -> incoming plaintext read error
2015-06-16 11:31:36 TLS Error: TLS handshake failed
2015-06-16 11:31:36 SIGUSR1[soft,tls-error] received, process restarting
2015-06-16 11:31:36 MANAGEMENT: >STATE:1434475896,RECONNECTING,tls-error,,
2015-06-16 11:31:36 MANAGEMENT: CMD 'hold release'
2015-06-16 11:31:36 NOTE: the current --script-security setting may allow this configuration to call user-defined scripts
2015-06-16 11:31:36 Socket Buffers: R=[196724->65536] S=[9216->65536]
2015-06-16 11:31:36 MANAGEMENT: >STATE:1434475896,RESOLVE,,,
2015-06-16 11:31:36 UDPv4 link local: [undef]
2015-06-16 11:31:36 UDPv4 link remote: [AF_INET]23.24.136.97:1194
2015-06-16 11:31:36 MANAGEMENT: >STATE:1434475896,WAIT,,,
2015-06-16 11:31:36 MANAGEMENT: >STATE:1434475896,AUTH,,,
2015-06-16 11:31:36 TLS: Initial packet from [AF_INET]23.24.136.97:1194, sid=97565f7a 4c753173
2015-06-16 11:31:37 VERIFY OK: depth=1, C=TW, ST=TW, L=Taipei, O=ASUS, CN=RT-AC66U, emailAddress=m...@myhost.mydomain
2015-06-16 11:31:37 VERIFY OK: nsCertType=SERVER
2015-06-16 11:31:37 VERIFY OK: depth=0, C=TW, ST=TW, L=Taipei, O=ASUS, CN=RT-AC66U, emailAddress=m...@myhost.mydomain
2015-06-16 11:31:37 TLS_ERROR: BIO read tls_read_plaintext error: error:14082174:SSL routines:ssl3_check_cert_and_algorithm:dh key too small
2015-06-16 11:31:37 TLS Error: TLS object -> incoming plaintext read error
2015-06-16 11:31:37 TLS Error: TLS handshake failed
2015-06-16 11:31:37 SIGUSR1[soft,tls-error] received, process restarting
2015-06-16 11:31:37 MANAGEMENT: >STATE:1434475897,RECONNECTING,tls-error,,
2015-06-16 11:31:37 MANAGEMENT: CMD 'hold release'
2015-06-16 11:31:37 NOTE: the current --script-security setting may allow this configuration to call user-defined scripts
2015-06-16 11:31:37 Socket Buffers: R=[196724->65536] S=[9216->65536]
2015-06-16 11:31:37 MANAGEMENT: >STATE:1434475897,RESOLVE,,,
2015-06-16 11:31:37 UDPv4 link local: [undef]

jkbull...gmail.com

unread,
Jun 16, 2015, 3:24:53 PM6/16/15
to tunnelbli...@googlegroups.com, inass...@gmail.com, inass...@gmail.com
Yes, Tunnelblick 3.5.1 and higher – including 3.6beta02 – all use the new version of OpenSSL, which fixes the "Logjam" vulnerability by requiring keys larger than 768 bits. (And future versions will require keys larger than 1024 bits.)

So, to repeat: You need to either use the old versions of Tunnelblick and be vulnerable to attack, or use new, larger keys.

You need to get new keys from the same place you got your old ones: your VPN service provider. If you created your own keys, you need to create new ones yourself. As I wrote in the Issues connecting to ASUS RT-AC66U with Tunnelblick 3.5.1 and up thread:


Note that Tunnelblick includes the "easy-rsa" programs (version 2 and 3) used in the HOWTO. To get to them, go to the "Utilities" panel of Tunnelblick's "VPN Details…" window, and click the "Open easy-rsa in Terminal" button.

mrei...@gmail.com

unread,
Jun 16, 2015, 5:55:50 PM6/16/15
to tunnelbli...@googlegroups.com, inass...@gmail.com
For users of the Asus routers with RMerlin fw : there is an easier way to do this:
See here:
Basically it comes down to this: generate only the DH key and supply that to the router.

Op dinsdag 16 juni 2015 21:24:53 UTC+2 schreef jkbull...gmail.com:

Rob Robinett

unread,
Jul 18, 2015, 7:46:31 PM7/18/15
to tunnelbli...@googlegroups.com, inass...@gmail.com, mrei...@gmail.com
Thanks to all for this thread.
I run stock FW on my ASUS RT-AC68U and lost tunnelblick connectivity with a recent upgrade.
It is remarkably easy to generate a new 1024 bit DH key on my Mac and paste it into the ASUS GUI page.
After restarting the VPN server, i can connect once again.

steak...@gmail.com

unread,
Aug 20, 2015, 6:39:30 PM8/20/15
to tunnelblick-discuss, inass...@gmail.com, mrei...@gmail.com
Rob,
How did you generate the key on the Mac? 

Thanks

jkbull...gmail.com

unread,
Aug 20, 2015, 7:56:09 PM8/20/15
to tunnelblick-discuss, inass...@gmail.com, mrei...@gmail.com, steak...@gmail.com
Instructions for generating the DH key are included in the "Generate Diffie Hellman parameters" section near the end of an answer in the OpenVPN HowTo.

However, I think the DH key is separate and independent from the other Public Key Infrastructure (PKI) setup, so I think you can skip everything that you would otherwise need to do when generating the other keys and certificates and just generate the DH key. (To be safe, you should follow all the other steps, but you could try this first since it is so easy and the other is a bit more involved.)

Here's a short version of what to do:
  1. Open a Terminal window in Tunnelblick's "easy-rsa" directory by clicking the "Open easy-rsa in Terminal" button on the "Utilities" panel of Tunnelblick's "VPN Details" window. Terminal will "cd" to the appropriate directory automatically.

  2. Type
    ./build-dh
    and then press the "return"/"enter" key.

  3. It will take a while to generate the key. When it is done, the key should be named "dh2048.pem" (for a 2048-bit key) and will be located in the following folder:
    /Users/YOUR_USERNAME/Library/Application Support/Tunnelblick/easy-rsa/keys
Reply all
Reply to author
Forward
0 new messages