Re: [PATCH 1/1] gtp: fix use-after-free and null-ptr-deref in gtp_genl_dump_pdp()

From: kovalev
Date: Wed Feb 14 2024 - 11:51:08 EST


09.02.2024 22:21, Eric Dumazet wrote:

Maybe, but the patch is not good, I think I and Pablo gave feedback on this ?

Please trace __netlink_dump_start() content of control->module

gtp_genl_family.module should be set, and we should get it.

Otherwise, if the bug is in the core, we would need a dozen of 'work
arounds because it is better than nothing'

Thank you.

Thanks.

I tracked the moment when the __netlink_dump_start() function was called, it turned out that in the gtp_init() initialization function before registering pernet subsystem (gtp_net_ops), therefore, outdated data is used, which leads to a crash.

The documentation says that ops structure must be assigned before registering a generic netlink family [1].

I have fixed and sent a new patch [2].

[1] https://elixir.bootlin.com/linux/v6.8-rc4/source/net/netlink/genetlink.c#L773

[2] https://lore.kernel.org/netdev/20240214162733.34214-1-kovalev@xxxxxxxxxxxx/T/#u

--
Regards,
Vasiliy Kovalev