Samanta Navarro
1c6a1206bd
lib/sgetgrent.c: fix null pointer dereference
...
If reallocation fails in function list, then reset the size to 0 again.
Without the reset, the next call assumes that `members` points to
a memory location with reserved space.
Also use size_t instead of int for size to prevent signed integer
overflows. The length of group lines is not limited.
Fixes 45c0003e53ab671c63dcd530fd9f3245d3b29e76 (4.14 release series)
Proof of Concept:
- Prepare a group file (one long group line and a shorter one, both with a list of users)
$ echo -n "root❌ 0:" > /tmp/uwu
$ yes , | tr -d '\n' | dd of=/tmp/uwu bs=10 count=3145728 seek=1 conv=notrunc iflag=fullblock
$ echo -e "\nbin❌ 1:," >> /tmp/uwu
- Run grpck with tight memory constraints
$ ulimit -d 102400
$ grpck /tmp/uwu
Segmentation fault (core dumped)
Reviewed-by: Alejandro Colomar <alx@kernel.org>
Signed-off-by: Samanta Navarro <ferivoz@riseup.net>
Cherry-picked-from: a9e07c0feb43 ("lib/sgetgrent.c: fix null pointer dereference")
Link: <https://github.com/shadow-maint/shadow/pull/904 >
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-01-16 00:00:43 +01:00
..
2007-10-07 11:46:07 +00:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:12:54 +02:00
2023-06-08 09:05:39 -05:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:12:54 +02:00
2023-02-24 12:44:14 -06:00
2023-10-30 00:00:15 +01:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:13:01 +02:00
2023-08-04 17:15:42 -05:00
2022-12-29 13:58:49 -06:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:13:01 +02:00
2023-08-02 10:13:28 -05:00
2022-01-02 18:38:42 -06:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:13:01 +02:00
2021-12-23 19:36:50 -06:00
2021-12-23 19:36:50 -06:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:13:01 +02:00
2023-03-31 09:53:40 -05:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:13:01 +02:00
2021-12-23 19:36:50 -06:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:13:01 +02:00
2023-02-09 10:03:03 -06:00
2023-05-15 09:21:16 +02:00
2023-02-09 10:03:03 -06:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:13:01 +02:00
2023-06-08 09:05:39 -05:00
2021-12-23 19:36:50 -06:00
2023-09-10 14:13:01 +02:00
2021-12-23 19:36:50 -06:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:13:01 +02:00
2021-12-23 19:36:50 -06:00
2023-06-08 09:05:39 -05:00
2021-12-23 19:36:50 -06:00
2023-06-08 09:05:39 -05:00
2021-12-23 19:36:50 -06:00
2023-06-08 09:05:39 -05:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:13:01 +02:00
2022-12-22 11:43:29 +01:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:12:54 +02:00
2023-02-16 11:29:33 +01:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:13:01 +02:00
2022-12-22 11:43:29 +01:00
2008-08-30 18:30:36 +00:00
2023-06-08 09:05:39 -05:00
2023-09-10 14:13:01 +02:00
2023-01-25 12:31:17 +01:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:13:01 +02:00
2023-05-31 09:29:49 -05:00
2021-12-23 19:36:50 -06:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:13:01 +02:00
2022-12-22 11:43:29 +01:00
2022-05-24 07:49:11 -05:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:13:01 +02:00
2023-02-09 10:03:03 -06:00
2021-12-23 19:36:50 -06:00
2023-02-23 20:28:43 -06:00
2023-09-10 14:13:01 +02:00
2023-10-30 00:00:10 +01:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:13:01 +02:00
2023-06-08 09:05:39 -05:00
2022-05-24 07:49:11 -05:00
2023-09-10 14:13:01 +02:00
2023-03-20 08:47:52 +01:00
2023-04-26 17:52:54 -05:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:13:01 +02:00
2024-01-16 00:00:43 +01:00
2022-10-14 10:41:40 +02:00
2022-12-22 11:43:29 +01:00
2023-06-08 09:05:39 -05:00
2021-12-23 19:36:50 -06:00
2023-02-09 10:03:03 -06:00
2023-02-09 10:03:03 -06:00
2021-12-23 19:36:50 -06:00
2023-01-26 22:44:39 -06:00
2021-12-27 16:28:23 +00:00
2022-08-06 11:27:56 -05:00
2023-02-23 20:28:43 -06:00
2023-09-10 14:13:01 +02:00
2022-01-02 18:38:42 -06:00
2023-06-08 09:05:39 -05:00
2018-09-13 14:20:02 +02:00
2023-09-10 14:12:54 +02:00
2023-02-16 11:29:33 +01:00
2023-09-10 14:12:54 +02:00
2023-02-16 11:29:33 +01:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:13:01 +02:00
2023-06-08 09:05:39 -05:00
2021-05-23 08:16:16 -05:00
2023-09-10 14:13:01 +02:00
2023-02-09 10:03:03 -06:00
2010-03-18 19:23:00 +00:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:13:01 +02:00
2023-10-30 00:00:19 +01:00
2023-09-10 14:13:01 +02:00
2023-08-04 17:15:42 -05:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:13:01 +02:00
2023-09-10 14:13:01 +02:00