summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2014-07-30 12:32:46 +1000
committerDamien Miller <djm@mindrot.org>2014-07-30 12:32:46 +1000
commitf497794b6962eaf802ab4ac2a7b22ae591cca1d5 (patch)
tree5c6724353686d4621a6c3328ea589075ef5a7abc
parenta8a0f65c57c8ecba94d65948e9090da54014dfef (diff)
downloadopenssh-git-f497794b6962eaf802ab4ac2a7b22ae591cca1d5.tar.gz
- dtucker@cvs.openbsd.org 2014/07/25 21:22:03
[ssh-agent.c] Clear buffer used for handling messages. This prevents keys being left in memory after they have been expired or deleted in some cases (but note that ssh-agent is setgid so you would still need root to access them). Pointed out by Kevin Burns, ok deraadt
-rw-r--r--ChangeLog6
-rw-r--r--ssh-agent.c3
2 files changed, 8 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 3a91bae2..f6ed3881 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,12 @@
- millert@cvs.openbsd.org 2014/07/24 22:57:10
[ssh.1]
Mention UNIX-domain socket forwarding too. OK jmc@ deraadt@
+ - dtucker@cvs.openbsd.org 2014/07/25 21:22:03
+ [ssh-agent.c]
+ Clear buffer used for handling messages. This prevents keys being
+ left in memory after they have been expired or deleted in some cases
+ (but note that ssh-agent is setgid so you would still need root to
+ access them). Pointed out by Kevin Burns, ok deraadt
20140725
- (djm) [regress/multiplex.sh] restore incorrectly deleted line;
diff --git a/ssh-agent.c b/ssh-agent.c
index e20a64ec..25f10c54 100644
--- a/ssh-agent.c
+++ b/ssh-agent.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ssh-agent.c,v 1.189 2014/07/18 02:46:01 djm Exp $ */
+/* $OpenBSD: ssh-agent.c,v 1.190 2014/07/25 21:22:03 dtucker Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -968,6 +968,7 @@ after_select(fd_set *readset, fd_set *writeset)
break;
}
buffer_append(&sockets[i].input, buf, len);
+ explicit_bzero(buf, sizeof(buf));
process_message(&sockets[i]);
}
break;