Live data from Hacker News

SACK Panic – Multiple TCP-based remote denial-of-service issues

access.redhat.com

121–130 of 134 posts

Re: SACK Panic – Multiple TCP-based remote denial-of-service issues

#121

Earlier quoted context omitted.

Good catch, I totally missed that.

I did miss it at first also, but wondered why it didn't increase the value.

I'd have to dig into the source code of that module. It makes sense to not raise it artificially higher than the requesting host. I just didn't expect them to have that logic. IPTables usually blindly does whatever bad idea I give it. :-)

Re: SACK Panic – Multiple TCP-based remote denial-of-service issues

#122

This is the way I block such things on my own VM's (not at work) using iptables: iptables -t raw -I PREROUTING -i eth0 -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m tcpmss ! --mss 640:65535 -j DROP Here it is in action: iptables -L -n -v -t raw | grep mss 84719 3392K DROP tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x17/0x02 tcpmss match !640:65535 My settings may be a little aggressive and may block some old pptp…

And ipv6? Fragmentation and mss are handled somewhat differently, iirc

IP fragmentation is different in IPv6 true.

MSS is a TCP parameter, however, and operates at layer 4. Won’t matter if the protocol underneath is IPv4 or IPv6 in this case.

Re: SACK Panic – Multiple TCP-based remote denial-of-service issues

#124
post #79
post #39

Earlier quoted context omitted.

https://github.com/Netflix/security-bulletins/blob/master/ad... is the advisory by the party that discovered the issue. (Disclosure: I have met Jonathan Looney and know some of the Netflix engineering staff, but I don't work for Netflix.)

This mentions FreeBSD impacts as well which the RedHat link doesn't.

For FreeBSD only the RACK stack seems to be affected - that's an alternative TCP/IP stack, not the default one.

Re: SACK Panic – Multiple TCP-based remote denial-of-service issues

#125
post #101

Will any Android phones be affected, or they don't support segment offloading?

Android seems to be affected: https://android.googlesource.com/kernel/common/+/5d625e9b4a6...

This might be fun...

Edit: Don't know if segmentation offloading is on by default in Android, but on my default Arch kernel it is, so I wouldn't know why not.

Re: SACK Panic – Multiple TCP-based remote denial-of-service issues

#126

Earlier quoted context omitted.

And ipv6? Fragmentation and mss are handled somewhat differently, iirc

IP fragmentation is different in IPv6 true. MSS is a TCP parameter, however, and operates at layer 4. Won’t matter if the protocol underneath is IPv4 or IPv6 in this case.

Actually, it does behave differently. Never underestimate the weirdness of IPv6 ;-)

From https://en.m.wikipedia.org/wiki/Maximum_segment_size :

"To avoid fragmentation in the IP layer, a host must specify the maximum segment size as equal to the largest IP datagram that the host can handle minus the IP and TCP header sizes.[2] Therefore, IPv4 hosts are required to be able to handle an MSS of 536 octets (= 576[3] - 20 - 20) and IPv6 hosts are required to be able to handle an MSS of 1220 octets (= 1280[4] - 40 - 20)."

So it seems like one needs to clamp tcpv4 to at least 536, and tcpv6 to at least 1220. (tcpv6 is common shorthand for TCP over IPv6, similar to udpv6 and icmpv6)

Re: SACK Panic – Multiple TCP-based remote denial-of-service issues

#127
post #83

Earlier quoted context omitted.

Here's a golden oldie from 1996: https://packetstormsecurity.com/files/15507/CA-96.26.ping.ht... My favorite of that era was simply the working-as-designed simplicity of sneaking the Hayes modem hangup sequence into various protocols: actual Hayes modems used +++ with a time-delay to send commands such as ATH0 (hangup) but everyone else skipped that time-delay in an attempt to avoid the patent so you could disconnect…

IRC was a fun venue for that one ~25 years ago. Pop into some random channel, send "/ctcp #channel ping +++ATH0", and wait patiently... a moment or two later you would be rewarded with a flood of "signoff" messages as the users' TCP sessions to the IRC server timed out (by responding to the CTCP, they had, in effect, told their modems to hang up). The goal, of course, was to get the highest "body count" possible from…

I was having a similar moment of nostalgia. Hard as it may be to believe some weeks, we have gotten a lot better at securing things.

Re: SACK Panic – Multiple TCP-based remote denial-of-service issues

#128

Earlier quoted context omitted.

Good catch, I totally missed that.

I did miss it at first also, but wondered why it didn't increase the value.

Increasing the value would cause problems. If the remote end says its MSS is 512 octets, either it doesn't have enough memory to receive larger packets, or its link MTU is small enough that larger packets will always get dropped.

Re: SACK Panic – Multiple TCP-based remote denial-of-service issues

#130
post #81
post #72

Earlier quoted context omitted.

They found a bug in FreeBSD too: https://github.com/Netflix/security-bulletins/blob/master/ad...

FWIW the FreeBSD bug only affects the RACK tcp algorithm, which isn’t the default (I think).

Correct, its not enabled by default.
Post reply on HN