Joas Antonio dos Santos
e625a9477d
ipvs: fix integer overflow in ftp helper port/address parsing
...
ip_vs_ftp_get_addrport() accumulates decimal digits into a __u16
(hport) and into unsigned char (p[]) without checking for overflow.
A crafted FTP PASV/EPSV response with an over-long port or address
octet wraps the value, so the helper configures the data connection
with a truncated port/address.
The netfilter conntrack FTP helper had the same defect, fixed in
commit 2b413fc689 ("netfilter: nf_conntrack_ftp: avoid u16
overflows"). Apply the equivalent fix here: widen the port accumulator
to u32 and reject values above 65535, and reject address octets above
255.
Fixes: 1da177e4c3 ("Linux-2.6.12-rc2")
Signed-off-by: Joas Antonio dos Santos <joasantonio108@gmail.com >
Acked-by: Julian Anastasov <ja@ssi.bg >
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org >
2026-08-18 00:56:43 +02:00
..
2026-08-18 00:52:22 +02:00
2026-08-18 00:56:43 +02:00
2026-03-29 11:21:24 -07:00
2026-06-23 13:10:34 +02:00
2026-05-24 22:55:47 +02:00
2026-03-19 10:26:31 +01:00
2026-07-31 14:47:03 +02:00
2026-07-24 11:45:19 +02:00
2026-08-01 20:45:24 +02:00
2026-07-24 11:45:19 +02:00
2026-08-10 13:01:37 +02:00
2026-07-24 11:45:19 +02:00
2026-08-18 00:54:40 +02:00
2026-06-05 16:16:44 +02:00
2026-07-24 11:45:19 +02:00
2026-04-08 07:51:31 +02:00
2026-07-02 12:17:14 +02:00
2026-08-10 13:03:15 +02:00
2026-07-24 11:45:19 +02:00
2026-07-02 12:17:14 +02:00
2026-08-18 00:55:10 +02:00
2026-07-02 12:17:14 +02:00
2026-07-02 12:17:14 +02:00
2026-01-20 16:23:37 +01:00
2026-06-14 12:51:55 +02:00
2026-01-20 16:23:37 +01:00
2026-01-20 16:23:37 +01:00
2026-08-10 20:25:56 +02:00
2026-08-14 12:23:12 -07:00
2026-07-22 13:47:02 +02:00
2026-08-10 20:25:56 +02:00
2026-07-02 12:17:14 +02:00
2026-06-14 12:51:55 +02:00
2026-07-30 12:53:19 -07:00
2026-07-02 12:17:14 +02:00
2026-08-13 13:12:24 +02:00
2026-07-24 11:45:19 +02:00
2026-06-05 13:11:55 +02:00
2026-06-15 14:09:57 -07:00
2026-01-02 12:04:28 -08:00
2026-08-13 11:00:14 -07:00
2026-08-10 13:03:08 +02:00
2026-07-08 15:33:44 +02:00
2026-08-10 13:02:37 +02:00
2026-02-21 01:02:28 -08:00
2026-08-13 13:12:24 +02:00
2026-08-13 11:00:14 -07:00
2026-02-21 01:02:28 -08:00
2026-07-24 11:45:19 +02:00
2026-01-02 12:04:28 -08:00
2026-07-02 12:17:14 +02:00
2026-07-24 11:45:19 +02:00
2026-07-22 13:47:02 +02:00
2026-07-24 11:45:19 +02:00
2026-03-29 11:21:24 -07:00
2026-01-20 16:23:37 +01:00
2026-07-02 12:17:14 +02:00
2026-07-30 12:53:19 -07:00
2026-07-24 11:45:19 +02:00
2026-06-19 12:19:58 +02:00
2026-06-05 13:11:55 +02:00
2026-08-18 00:56:20 +02:00
2026-06-14 12:50:01 +02:00
2026-08-10 20:27:29 +02:00
2026-06-14 12:50:01 +02:00
2026-04-08 07:51:30 +02:00
2026-07-10 10:20:05 +02:00
2026-07-02 12:17:14 +02:00
2026-07-02 12:17:14 +02:00
2026-08-10 20:26:37 +02:00
2026-06-05 13:11:54 +02:00
2026-08-18 00:51:40 +02:00
2026-03-09 18:32:45 -07:00
2026-05-22 12:28:46 +02:00
2026-06-01 13:43:53 +02:00
2026-03-12 12:53:34 -07:00
2026-04-08 07:51:31 +02:00
2026-06-23 08:11:22 +02:00
2026-04-08 07:51:30 +02:00
2026-02-25 19:36:26 -08:00
2026-06-14 12:50:01 +02:00
2026-08-10 13:03:15 +02:00
2026-02-25 19:36:26 -08:00
2026-04-08 07:51:30 +02:00
2026-06-15 14:09:57 -07:00
2026-02-25 19:36:26 -08:00
2026-06-30 06:37:12 +02:00
2026-06-30 06:37:12 +02:00
2026-02-25 19:36:26 -08:00
2026-06-14 13:07:03 +02:00
2026-04-08 07:51:31 +02:00
2026-04-08 07:51:31 +02:00
2026-06-14 12:50:01 +02:00
2026-02-26 10:23:00 -08:00
2026-04-08 07:51:30 +02:00
2026-04-08 07:51:30 +02:00
2026-07-08 15:33:37 +02:00
2026-06-14 12:50:01 +02:00
2026-07-31 14:47:03 +02:00
2026-02-25 19:36:26 -08:00
2026-04-08 07:51:31 +02:00
2026-04-08 07:51:31 +02:00
2026-04-30 17:59:01 +02:00
2026-08-18 00:51:40 +02:00
2026-04-08 07:51:30 +02:00
2026-04-08 07:51:30 +02:00
2026-04-08 07:51:31 +02:00
2026-06-14 12:50:01 +02:00
2026-02-25 19:36:26 -08:00
2026-02-25 19:36:26 -08:00
2026-06-14 12:50:01 +02:00
2026-07-31 14:47:03 +02:00
2025-09-10 20:28:24 +02:00
2026-06-14 12:50:01 +02:00
2026-05-24 22:55:48 +02:00
2025-08-20 13:52:37 +02:00
2026-06-30 06:37:07 +02:00
2026-06-30 06:37:07 +02:00
2026-07-10 10:20:05 +02:00
2026-06-14 12:50:01 +02:00
2026-06-23 08:11:22 +02:00
2026-04-30 17:59:01 +02:00
2026-06-14 12:50:01 +02:00
2026-07-31 14:47:03 +02:00
2026-03-29 11:21:24 -07:00
2026-07-02 12:17:14 +02:00
2026-04-30 08:03:22 +02:00
2025-12-16 11:04:14 -05:00
2026-04-01 11:55:29 +02:00
2026-06-19 12:22:14 +02:00
2026-03-09 18:32:45 -07:00
2026-03-09 18:32:45 -07:00
2026-07-03 14:45:21 +02:00
2026-05-22 12:28:46 +02:00
2026-06-05 16:16:44 +02:00
2026-04-08 07:51:27 +02:00
2026-04-30 08:03:22 +02:00
2026-07-02 12:17:14 +02:00
2026-04-30 17:59:01 +02:00
2026-07-23 18:01:25 +02:00
2026-04-10 12:16:26 +02:00
2026-05-01 21:36:14 +02:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-04-20 23:27:52 +02:00
2025-05-22 17:16:02 +02:00
2026-04-08 13:33:38 +02:00
2026-07-10 16:28:47 +02:00
2025-07-25 18:40:43 +02:00
2024-10-21 11:31:26 +02:00
2026-06-01 13:43:52 +02:00
2026-04-30 17:59:01 +02:00
2026-04-20 23:27:52 +02:00
2026-07-10 16:28:47 +02:00
2026-04-30 08:03:22 +02:00
2026-02-21 17:09:51 -08:00
2026-07-03 14:45:21 +02:00
2026-02-21 17:09:51 -08:00
2026-04-20 23:27:52 +02:00
2026-07-02 12:17:14 +02:00
2025-03-23 10:53:47 +01:00
2026-04-30 08:03:22 +02:00
2026-04-10 12:16:26 +02:00
2026-02-21 17:09:51 -08:00
2026-07-24 11:21:35 +02:00
2026-04-30 08:03:22 +02:00
2026-07-02 12:17:14 +02:00
2026-03-10 14:10:42 +01:00
2026-02-21 17:09:51 -08:00
2026-03-19 14:16:00 -07:00
2026-04-30 17:59:01 +02:00
2024-10-21 11:31:26 +02:00
2026-07-08 15:33:44 +02:00