diff options
author | 2006-09-16 19:53:37 +0000 | |
---|---|---|
committer | 2006-09-16 19:53:37 +0000 | |
commit | a10dfd635a68dda4502a3e46b25ecd41808ff1d2 (patch) | |
tree | d62d51d88e146d3b78bd03396d0190d35c42b3f0 /usr.bin/ssh/packet.c | |
parent | fix error message parsing, okay deraadt@ (diff) | |
download | wireguard-openbsd-a10dfd635a68dda4502a3e46b25ecd41808ff1d2.tar.xz wireguard-openbsd-a10dfd635a68dda4502a3e46b25ecd41808ff1d2.zip |
limit maximum work performed by the CRC compensation attack detector,
problem reported by Tavis Ormandy, Google Security Team;
ok markus@ deraadt@
Diffstat (limited to 'usr.bin/ssh/packet.c')
-rw-r--r-- | usr.bin/ssh/packet.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/usr.bin/ssh/packet.c b/usr.bin/ssh/packet.c index eacbd89642f..278948c8351 100644 --- a/usr.bin/ssh/packet.c +++ b/usr.bin/ssh/packet.c @@ -1,4 +1,4 @@ -/* $OpenBSD: packet.c,v 1.143 2006/08/05 08:34:04 dtucker Exp $ */ +/* $OpenBSD: packet.c,v 1.144 2006/09/16 19:53:37 djm Exp $ */ /* * Author: Tatu Ylonen <ylo@cs.hut.fi> * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland @@ -991,9 +991,16 @@ packet_read_poll1(void) * (C)1998 CORE-SDI, Buenos Aires Argentina * Ariel Futoransky(futo@core-sdi.com) */ - if (!receive_context.plaintext && - detect_attack(buffer_ptr(&input), padded_len) == DEATTACK_DETECTED) - packet_disconnect("crc32 compensation attack: network attack detected"); + if (!receive_context.plaintext) { + switch (detect_attack(buffer_ptr(&input), padded_len)) { + case DEATTACK_DETECTED: + packet_disconnect("crc32 compensation attack: " + "network attack detected"); + case DEATTACK_DOS_DETECTED: + packet_disconnect("deattack denial of " + "service detected"); + } + } /* Decrypt data to incoming_packet. */ buffer_clear(&incoming_packet); |