backport mod_reqtimeout with handshake support
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
apache2 (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Xenial |
Fix Released
|
Medium
|
Jesse Williamson | ||
Bionic |
Fix Released
|
Undecided
|
Unassigned | ||
Disco |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[Impact]
When running TCP Defensics suite which sends corrupt packages towards vip__public port 443, the suite is hanging after the half suite because there are no free connections. The connections will be in state "established" ~ 2 hours.
1.2. Detailed trouble description
# ip netns exec haproxy netstat -npea | grep XXX.XXX.XXX.XXX | grep -i establish | grep 443
tcp 0 0 XXX.XXX.XXX.XXX:443 YYY.YY.YYY.YY:2940 ESTABLISHED 115 81148003 29817/haproxy
tcp 0 0 XXX.XXX.XXX.XXX:443 YY.YY.YYY.YY:24979 ESTABLISHED 115 81802005 29817/haproxy
tcp 0 0 XXX.XXX.XXX.XXX:443 YY.YY.YYY.YY:19394 ESTABLISHED 115 81782263 29817/haproxy
tcp 0 0 XXX.XXX.XXX.XXX:443 YY.YY.YYY.YY:13931 ESTABLISHED 115 81752052 29817/haproxy
tcp 0 0 XXX.XXX.XXX.XXX:443 YY.YY.YYY.YY:12668 ESTABLISHED 115 81743719 29817/haproxy
tcp 0 0 XXX.XXX.XXX.XXX:443 YY.YY.YYY.YY:2961 ESTABLISHED 115 81139548 29817/haproxy
tcp 0 0 XXX.XXX.XXX.XXX:443 YY.YY.YYY.YY:8918 ESTABLISHED 115 81738132 29817/haproxy
tcp 0 0 XXX.XXX.XXX.XXX:443 YY.YY.YYY.YY:2957 ESTABLISHED 115 81148041 29817/haproxy
tcp 0 0 XXX.XXX.XXX.XXX:443 YY.YY.YYY.YY:10552 ESTABLISHED 115 81744903 29817/haproxy
This issue can be resolved by enabling the parameter(
[Test Case]
This test case has been brought to my attention by an impacted user:
"
You must have an apache2 server, with an haproxy in front of it, and you initiate SSL connections with "nc" between 50 and 8000 connections and because the SSL connection process is never finished all those connections get stucked and never timeout.
"
Reproducer (Thanks to Szilard): https:/
[Regression Potential]
* The backport already exist in Bionic/Disco (done by security team via the security channel)
* It is also backported upstream into 2.4 (branch : 2.4.x)
* It was tested pre-release by an impacted user, and the outcome was positive:
"I have tested the below packages for enabling handshake parameter(
* Local autopkgtest inside qemu, revealed no issues:
autopkgtest [12:09:48]: @@@@@@@
duplicate-
htcacheclean PASS
ssl-passphrase PASS
chroot PASS
[Other Info]
[Original description]
Backport the handshake feature in mod_reqtimeout (in Apache 2.4.39) to Apache 2.4.18.
Lack of this feature was exhausting free connections when sent corrupted packets.
tags: | added: sts |
affects: | ceph (Ubuntu) → apache2 (Ubuntu) |
Changed in apache2 (Ubuntu): | |
status: | New → Fix Released |
assignee: | Jesse Williamson (chardan) → nobody |
Changed in apache2 (Ubuntu Xenial): | |
assignee: | nobody → Jesse Williamson (chardan) |
description: | updated |
Changed in apache2 (Ubuntu Xenial): | |
importance: | Undecided → Medium |
status: | New → Confirmed |
Changed in apache2 (Ubuntu Disco): | |
status: | New → Fix Released |
Changed in apache2 (Ubuntu Bionic): | |
status: | New → Confirmed |
status: | Confirmed → Fix Released |
description: | updated |
Changed in apache2 (Ubuntu Xenial): | |
status: | Confirmed → In Progress |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
tags: | removed: verification-needed |
The attachment "apache2_ modreqtimeout. debdiff" seems to be a debdiff. The ubuntu-sponsors team has been subscribed to the bug report so that they can review and hopefully sponsor the debdiff. If the attachment isn't a patch, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are member of the ~ubuntu-sponsors, unsubscribe the team.
[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issue please contact him.]