Package: nmap
Version: 6.00-0.3
Severity: normal

Steps to reproduce:
1) configure eth0 to use 10.7.0.0/16 subnet
2) Run "sudo nmap -n -T normal -sP 10.7.24-34.1-254"

Expected results:
2) nmap pings each host in the network

Actual results:
2) nmap fails after it has processed 1024 hosts:

Starting Nmap 6.00 ( http://nmap.org ) at 2013-07-04 14:35 EEST
nexthost: failed to determine route to 10.7.28.5
QUITTING!

More info:
1) after step 2 the network is somewhat unusable:

$ ping 10.7.28.5
connect: No buffer space available

2) I can workaround the problem with

sudo sh -c 'echo 4096 > /proc/sys/net/ipv4/neigh/default/gc_thresh3'

3) The default value of gc_thresh3 seems to be 1024. The "refcnt" value
   of the following command seems to hit 1024 when nmap fails:

$ ip ntable show dev eth0 name arp_cache
inet arp_cache 
    dev eth0 
    refcnt 1024 reachable 33340 base_reachable 30000 retrans 1000 
    gc_stale 60000 delay_probe 5000 queue 3 
    app_probes 0 ucast_probes 3 mcast_probes 3 
    anycast_delay 1000 proxy_delay 800 proxy_queue 64 locktime 1000 

4) I tried to use git bisect to figure out where the problem
   started. However, git svn clone kept timing out so I couldn't get a
   copy of the repo. The publicly available git-svn mirror didn't carry
   svn submodules (like nbase/).

6) Finally I resorted into trying older tarball releases. It seems that
   nmap-5.52.IPv6.Beta1 works while nmap-5.52.IPv6.Beta2.tgz fails. I
   could not figure out which svn revisions correspond to these tarballs
   but

grep -hr "/\* \$Id: " nmap-5.52.IPv6.Beta1/|cut -d' ' -f4|sort -n|tail -n1

   hints that they could be r23406 and r23787 respectively.

8) strace shows that nmap-5.52.IPv6.Beta1 uses PF_PACKET/SOCK_RAW and
   formats the ARP request on its own. nmap-5.52.IPv6.Beta2 on the other
   hand seems to use PF_NETLINK/SOCK_RAW and asks the kernel to do the
   ARP queries using NETLINK_ROUTE messages. Apparently this causes the
   kernel to cache all these queries?

9) Even an unprivileged user can do this (with -sT -p 100), is this also
   a DoS?

Please let me know if you can't reproduce the problem.

-- System Information:
Debian Release: 7.1
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.2.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=C, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages nmap depends on:
ii  libc6        2.13-38
ii  libgcc1      1:4.7.2-5
ii  liblinear1   1.8+dfsg-1
ii  liblua5.1-0  5.1.5-4
ii  libpcap0.8   1.3.0-1
ii  libpcre3     1:8.30-5
ii  libssl1.0.0  1.0.1e-2
ii  libstdc++6   4.7.2-5
ii  python       2.7.3-4

nmap recommends no packages.

nmap suggests no packages.

-- no debconf information


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to