Package: netcat6
Version: 1.0-5
Severity: important

When using the option '-p', netcat6 looses its ability to set
a routable IPv6 origin in the TCP header. This prevents traffic
sent between two distinct physical hosts. Netcat6 incorrectly sets
the origin to be '::1', thus making the three-way handshake
impossible at the receiveing, remote end. Observe that this
phenomenon is impossible to observe when both ends are
the same host, due to implicit routing via loopback interface.

The printout below is a formatted output using tcpdump, recorded
at the __remote__ host. Preceeding each dump is the command on
the __local__ host that caused the displayed dump.

The first call, resulting in no response at all for the local
client, clearly shows that the origin is incorrectly recorded
as '::1' for port 54441.

The second call displays the correct '2001:491:43:7a::a'.
The full handshake is displayed in the dump.



$ nc6 glimp.remote 3928 -p 54441    # Corrupts origin in IPv6 TCP-header.
                                    # Handshake fails to react on SYN at
                                    # the remote end:

00:00:00.000000 00:13:d4:c1:8b:6c > 00:e0:4c:da:95:6e,
        ethertype IPv6 (0x86dd), length 94:
            (hlim 64, next-header TCP (6) payload length: 40)
    ::1.54441 > 2001:491:43:7a::33.3928:
        Flags [S], seq 478216380, win 5760,
             options [mss 1440,sackOK,TS val 2484981 ecr 0,[|tcp]>


$ nc6 glimp.local 3928             # Functional TCP-header. Complete handshake!

00:00:04.576964 00:13:d4:c1:8b:6c > 00:e0:4c:da:95:6e,
        ethertype IPv6 (0x86dd), length 94:
             (hlim 64, next-header TCP (6) payload length: 40)
    2001:491:43:7a::a.37666 > 2001:491:43:7a::33.3928:
        Flags [S], seq 762668446, win 5760,
             options [mss 1440,sackOK,TS val 2486126 ecr 0,[|tcp]>

00:00:00.002903 00:e0:4c:da:95:6e > 00:13:d4:c1:8b:6c,
        ethertype IPv6 (0x86dd), length 94:
             (hlim 64, next-header TCP (6) payload length: 40)
    2001:491:43:7a::33.3928 > 2001:491:43:7a::a.37666:
        Flags [S.], seq 2903214825, ack 762668447, win 5712,
             options [mss 1440,sackOK,TS val 13133203 ecr 2486126,[|tcp]>

00:00:00.000113 00:13:d4:c1:8b:6c > 00:e0:4c:da:95:6e,
        ethertype IPv6 (0x86dd), length 86:
             (hlim 64, next-header TCP (6) payload length: 32)
    2001:491:43:7a::a.37666 > 2001:491:43:7a::33.3928:
        Flags [.], cksum 0x68ab (correct), seq 1, ack 1, win 90,
             options [nop,nop,TS val 2486127 ecr 13133203], length 0


-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: i386 (i686)

Kernel: Linux 2.6.32-3-686 (SMP w/1 CPU core)
Locale: LANG=sv_SE, LC_CTYPE=sv_SE (charmap=ISO-8859-1)
Shell: /bin/sh linked to /bin/dash

Versions of packages netcat6 depends on:
ii  libc6                         2.10.2-6   Embedded GNU C Library: Shared lib

netcat6 recommends no packages.

netcat6 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