summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordjm <djm>2014-07-30 02:32:46 +0000
committerdjm <djm>2014-07-30 02:32:46 +0000
commit443df8d9da37ad6c8bcc3c906aa9a1bc4d9af7e3 (patch)
treeb8b10a97f0130885b1b4b2828ec1a617d9fa3eff
parent783e21b18def0830823fbb28d8b857d13ced220a (diff)
downloadopenssh-443df8d9da37ad6c8bcc3c906aa9a1bc4d9af7e3.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;