touch-packages team mailing list archive
-
touch-packages team
-
Mailing list archive
-
Message #86380
[Bug 1420608] Re: s_client doesn't recognise XMPP STARTTLS messages with double quotes
Status changed to 'Confirmed' because the bug affects multiple users.
** Changed in: openssl (Ubuntu)
Status: New => Confirmed
--
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to openssl in Ubuntu.
https://bugs.launchpad.net/bugs/1420608
Title:
s_client doesn't recognise XMPP STARTTLS messages with double quotes
Status in OpenSSL cryptography and SSL/TLS toolkit:
New
Status in openssl package in Ubuntu:
Confirmed
Bug description:
OpenSSL s_client does not recognise the XML produced by some Jabber
servers (eg. OpenFire). The parameter values use double (") instead of
single quotes (') and s_client is too conservative in its string-
parsing routine.
To demonstrate the problem I used one of the public XMPP servers
running OpenFire 3.9.3:
openssl s_client -connect jabber.rootbash.com:5222 -starttls xmpp -debug
CONNECTED(00000003)
write to 0x1124c10 [0x7fffdf2d49c0] (124 bytes => 124 (0x7C))
0000 - 3c 73 74 72 65 61 6d 3a-73 74 72 65 61 6d 20 78 <stream:stream x
0010 - 6d 6c 6e 73 3a 73 74 72-65 61 6d 3d 27 68 74 74 mlns:stream='htt
0020 - 70 3a 2f 2f 65 74 68 65-72 78 2e 6a 61 62 62 65 p://etherx.jabbe
0030 - 72 2e 6f 72 67 2f 73 74-72 65 61 6d 73 27 20 78 r.org/streams' x
0040 - 6d 6c 6e 73 3d 27 6a 61-62 62 65 72 3a 63 6c 69 mlns='jabber:cli
0050 - 65 6e 74 27 20 74 6f 3d-27 6a 61 62 62 65 72 2e ent' to='jabber.
0060 - 72 6f 6f 74 62 61 73 68-2e 63 6f 6d 27 20 76 65 rootbash.com' ve
0070 - 72 73 69 6f 6e 3d 27 31-2e 30 27 3e rsion='1.0'>
read from 0x1124c10 [0x1118800] (8192 bytes => 192 (0xC0))
0000 - 3c 3f 78 6d 6c 20 76 65-72 73 69 6f 6e 3d 27 31 <?xml version='1
0010 - 2e 30 27 20 65 6e 63 6f-64 69 6e 67 3d 27 55 54 .0' encoding='UT
0020 - 46 2d 38 27 3f 3e 3c 73-74 72 65 61 6d 3a 73 74 F-8'?><stream:st
0030 - 72 65 61 6d 20 78 6d 6c-6e 73 3a 73 74 72 65 61 ream xmlns:strea
0040 - 6d 3d 22 68 74 74 70 3a-2f 2f 65 74 68 65 72 78 m="http://etherx
0050 - 2e 6a 61 62 62 65 72 2e-6f 72 67 2f 73 74 72 65 .jabber.org/stre
0060 - 61 6d 73 22 20 78 6d 6c-6e 73 3d 22 6a 61 62 62 ams" xmlns="jabb
0070 - 65 72 3a 63 6c 69 65 6e-74 22 20 66 72 6f 6d 3d er:client" from=
0080 - 22 6a 61 62 62 65 72 2e-72 6f 6f 74 62 61 73 68 "jabber.rootbash
0090 - 2e 63 6f 6d 22 20 69 64-3d 22 61 39 64 33 30 61 .com" id="a9d30a
00a0 - 34 32 22 20 78 6d 6c 3a-6c 61 6e 67 3d 22 65 6e 42" xml:lang="en
00b0 - 22 20 76 65 72 73 69 6f-6e 3d 22 31 2e 30 22 3e " version="1.0">
read from 0x1124c10 [0x1118800] (8192 bytes => 428 (0x1AC))
0000 - 3c 73 74 72 65 61 6d 3a-66 65 61 74 75 72 65 73 <stream:features
0010 - 3e 3c 73 74 61 72 74 74-6c 73 20 78 6d 6c 6e 73 ><starttls xmlns
0020 - 3d 22 75 72 6e 3a 69 65-74 66 3a 70 61 72 61 6d ="urn:ietf:param
0030 - 73 3a 78 6d 6c 3a 6e 73-3a 78 6d 70 70 2d 74 6c s:xml:ns:xmpp-tl
0040 - 73 22 3e 3c 2f 73 74 61-72 74 74 6c 73 3e 3c 6d s"></starttls><m
0050 - 65 63 68 61 6e 69 73 6d-73 20 78 6d 6c 6e 73 3d echanisms xmlns=
0060 - 22 75 72 6e 3a 69 65 74-66 3a 70 61 72 61 6d 73 "urn:ietf:params
0070 - 3a 78 6d 6c 3a 6e 73 3a-78 6d 70 70 2d 73 61 73 :xml:ns:xmpp-sas
0080 - 6c 22 3e 3c 6d 65 63 68-61 6e 69 73 6d 3e 44 49 l"><mechanism>DI
0090 - 47 45 53 54 2d 4d 44 35-3c 2f 6d 65 63 68 61 6e GEST-MD5</mechan
00a0 - 69 73 6d 3e 3c 6d 65 63-68 61 6e 69 73 6d 3e 50 ism><mechanism>P
00b0 - 4c 41 49 4e 3c 2f 6d 65-63 68 61 6e 69 73 6d 3e LAIN</mechanism>
00c0 - 3c 6d 65 63 68 61 6e 69-73 6d 3e 41 4e 4f 4e 59 <mechanism>ANONY
00d0 - 4d 4f 55 53 3c 2f 6d 65-63 68 61 6e 69 73 6d 3e MOUS</mechanism>
00e0 - 3c 6d 65 63 68 61 6e 69-73 6d 3e 43 52 41 4d 2d <mechanism>CRAM-
00f0 - 4d 44 35 3c 2f 6d 65 63-68 61 6e 69 73 6d 3e 3c MD5</mechanism><
0100 - 2f 6d 65 63 68 61 6e 69-73 6d 73 3e 3c 63 6f 6d /mechanisms><com
0110 - 70 72 65 73 73 69 6f 6e-20 78 6d 6c 6e 73 3d 22 pression xmlns="
0120 - 68 74 74 70 3a 2f 2f 6a-61 62 62 65 72 2e 6f 72 http://jabber.or
0130 - 67 2f 66 65 61 74 75 72-65 73 2f 63 6f 6d 70 72 g/features/compr
0140 - 65 73 73 22 3e 3c 6d 65-74 68 6f 64 3e 7a 6c 69 ess"><method>zli
0150 - 62 3c 2f 6d 65 74 68 6f-64 3e 3c 2f 63 6f 6d 70 b</method></comp
0160 - 72 65 73 73 69 6f 6e 3e-3c 61 75 74 68 20 78 6d ression><auth xm
0170 - 6c 6e 73 3d 22 68 74 74-70 3a 2f 2f 6a 61 62 62 lns="http://jabb
0180 - 65 72 2e 6f 72 67 2f 66-65 61 74 75 72 65 73 2f er.org/features/
0190 - 69 71 2d 61 75 74 68 22-2f 3e 3c 2f 73 74 72 65 iq-auth"/></stre
01a0 - 61 6d 3a 66 65 61 74 75-72 65 73 3e am:features>
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 620 bytes and written 124 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
---
The "no peer certificate available" is incorrect, it appears because
s_client doesn't correctly recognise the response from the remote
server.
The problem comes from the hard-coded string that s_client is looking for during communication with the remote server here:
https://github.com/openssl/openssl/blob/OpenSSL_1_0_1-stable/apps/s_client.c#L1461 - the utility expects only a single-quoted string, while the standard also allows the use of double quotes.
There is a bug report and a series of patches for various XMPP-related
bugs submitted in OpenSSL RT bugtracker
https://rt.openssl.org/Ticket/Display.html?id=2860&user=guest&pass=guest
(and more specifically for this problem -
https://rt.openssl.org/Ticket/Display.html?id=2860#txn-34620). This
issue has been fixed in the upstream Git repository in the master
branch
(https://github.com/openssl/openssl/blob/fbf08b79ff33110c242849e836aeb494bc03a132/apps/s_client.c#L1620).
Please consider including these patches.
Also please update the man page for s_client, it is for a previous
version of the utility and doesn't mention STARTTLS XMPP support at
all.
ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: openssl 1.0.1f-1ubuntu2.8
ProcVersionSignature: Ubuntu 3.13.0-45.74-generic 3.13.11-ckt13
Uname: Linux 3.13.0-45-generic x86_64
NonfreeKernelModules: wl
ApportVersion: 2.14.1-0ubuntu3.6
Architecture: amd64
CurrentDesktop: Unity
Date: Tue Feb 10 21:59:30 2015
InstallationDate: Installed on 2014-07-07 (218 days ago)
InstallationMedia: Ubuntu 14.04 LTS "Trusty Tahr" - Release amd64 (20140417)
SourcePackage: openssl
UpgradeStatus: No upgrade log present (probably fresh install)
To manage notifications about this bug go to:
https://bugs.launchpad.net/openssl/+bug/1420608/+subscriptions
References