PDA

Bekijk Volledige Versie : TCP/IP implementations do not adequately validate ICMP error messages



Alok Menghrajani - Ilion Security SA
10/05/05, 22:35
Hi,

I was playing around with the ICMP error messages DOS attack (I found an
exploit on securityfocus.org bid 13214), and I noticed the following
work around:

when I add the following rule to iptables, the linux server (Kernel
2.4.29-grsec) is no longer vulnerable to the DOS:
iptables -I INPUT 1 -p icmp -j DROP

I am interested in knowing if this work around makes any sense. Please
keep me informed about this vulnerability.

Thank you,
Alok.

--
ILION Security S.A.
Network Audit by Ethical Hacking

M. Alok Menghrajani
alok@ilionsecurity.ch

http://www.ilionsecurity.ch
36, av. Cardinal-Mermillod
CH-1227 Carouge/GE
Tél.: +41 22 343 99 33
Mob.: +41 78 740 88 97
Fax: +41 22 343 99 34

Maciej Soltysiak
12/05/05, 00:55
Hello Alok,

Tuesday, May 10, 2005, 4:51:25 PM, you wrote:
> when I add the following rule to iptables, the linux server (Kernel
> 2.4.29-grsec) is no longer vulnerable to the DOS:
> iptables -I INPUT 1 -p icmp -j DROP
Um. Other way round:

1) setup a default drop policy

# iptables -P INPUT DROP

2) accept only what you want

# related and established traffic
# iptables -A INPUT -m state --state ESTABLISHED, RELATED -j ACCEPT

# allow only type: echo request, code: 0 (proper rfc ping)
# iptables -A INPUT -p icmp --icmp-type 8/0 -j ACCEPT

# other rules

> I am interested in knowing if this work around makes any sense. Please
> keep me informed about this vulnerability.
Unless you are accepting stateful RELATED ICMP traffic, you are propably fine,
but are just missing rules to allow PING, which is a RFC MUST AFAIR.

If not, you are doing a very bad thing. ICMP is really required for
error reporting. You really, really do not want to miss out on these,
as it may get you to problems like:
- being unable to detect a need for fragmentation
- being unable to receive dest.unreach. icmps which will cause delays
and timeouts.

Blocking all icmp by ISPs is called being criminally brain-dead
in a help message of the TCPMSS module for iptables in the kernel source :-)

--
Best regards,
Maciej

David Schwartz
12/05/05, 04:45
> when I add the following rule to iptables, the linux server (Kernel
> 2.4.29-grsec) is no longer vulnerable to the DOS:
> iptables -I INPUT 1 -p icmp -j DROP
>
> I am interested in knowing if this work around makes any sense. Please
> keep me informed about this vulnerability.

This breaks PMTU detection. ICMP is a host requirement, it is not optional.

DS