Subject: kerberos bug?
To: None <current-users@netbsd.org>
From: Wolfgang Rupprecht <wolfgang@wsrcc.com>
List: current-users
Date: 09/10/1999 09:30:36
Gcc: nnfolder+archive:news-cc
Appended is a disturbing message from the kerberos newsgroup.
I have confirmed that the plaintext command does indeed go across the wire.
A tcpdump of "rsh -x date" by user "wolfgang".
22:48:39.967232 pasillo.wsrcc.com.5120 > capsicum.wsrcc.com.kshell: P 473:494(21) ack 85 win 17520 <nop,nop,timestamp 1238462 1124938>
-x date\000wolfgang\000\000\000\000\000 (DF)
============^^^^^^^^^^^^^^^^^^^
I'm not sure I really understand this, but on the face of it, it sure
looks like kerberos's "rsh -x" connections are subject to
man-in-the-middle modification attacks. Somebody please tell me
that this data is protected by some other cryptographic trick.
-wolfgang
From: bam@silas-1.cc.monash.edu.au (Mr Brian May)
Subject: security of rsh encryption?
Newsgroups: comp.protocols.kerberos
Date: 10 Sep 1999 03:41:46 GMT
Organization: Monash Uni
Reply-To: bmay@csse.monash.edu.au
Path: news1.frmt1.sfba.home.com!newshub1.home.com!news.home.com!newsfeed.direct.ca!logbridge.uoregon.edu!enews.sgi.com!harbinger.cc.monash.edu.au!towncrier.cc.monash.edu.au!bam
Lines: 59
Distribution: world
Message-ID: <slrn7tgvfq.he6.bam@silas-1.cc.monash.edu.au>
NNTP-Posting-Host: silas-1.cc.monash.edu.au
NNTP-Posting-Date: 10 Sep 1999 03:41:46 GMT
User-Agent: slrn/0.9.5.6 (UNIX)
Xref: newshub1.home.com comp.protocols.kerberos:30002423
Sorry if you receive multiple copies of this message, my ex-newsreader
was playing up.
(I hope no one thinks I am being paranoid here, but I have a question
concerning the security of the Kerberos rsh protocol with encryption,
and I didn't get any response from the heimdal mailing list. I would
like to be able to tell others, yes, rsh is secure without hesitation).
> From krshd.c in MIT kerberos:
if (status) {
if (auth_sys == KRB5_RECVAUTH_V5) {
/*
* clean up before exiting
*/
getstr(netf, locuser, sizeof(locuser), "locuser");
getstr(netf, cmdbuf, sizeof(cmdbuf), "command");
getstr(netf, remuser, sizeof(locuser), "remuser");
}
return status;
}
getstr(netf, locuser, sizeof(locuser), "locuser");
getstr(netf, cmdbuf, sizeof(cmdbuf), "command");
[skip a few lines]
getstr(netf, remuser, sizeof(locuser), "remuser");
getstr reads the string in without doing any decryption. ie the
values of locuser, command, and remuser are not encrypted. Further
on in the code, if I am correct, the read value of cmdbuf is used to
enable encryption:
if (!strncmp(cmdbuf, "-x ", 3))
do_encrypt = 1;
I have verified that these values are transmitted in plain text by
stracing the heimdal implementation of Kerberos. I believe that
it uses the same protocol as MIT Kerberos.
Now, isn't it highly dangerous to pass the command line in plain text?
What if someone where alter the command line after it has been
transmitted and turns off encryption? Even worse, what if they
changed the command line to say "rm -rf ."??? Please tell me where I
am wrong.
(BTW, I have similar concerns for ftp, where a decrypted message may
be used when encryption is meant to be enabled, but haven't yet
investigated this in as much detail.)
Thanks.
PS - please send me a CC of all mail, as my news server has been acting
very funny lately, and times even losing mail.
--
Brian May <bmay@csse.monash.edu.au>