Re: [PATCH] team: Fix use-after-free when an option instance allocation fails

From: Jiri Pirko
Date: Wed Dec 06 2023 - 08:21:34 EST


Wed, Dec 06, 2023 at 01:37:18PM CET, revest@xxxxxxxxxxxx wrote:
>In __team_options_register, team_options are allocated and appended to
>the team's option_list.
>If one option instance allocation fails, the "inst_rollback" cleanup
>path frees the previously allocated options but doesn't remove them from
>the team's option_list.
>This leaves dangling pointers that can be dereferenced later by other
>parts of the team driver that iterate over options.
>
>This patch fixes the cleanup path to remove the dangling pointers from
>the list.
>
>As far as I can tell, this uaf doesn't have much security implications
>since it would be fairly hard to exploit (an attacker would need to make
>the allocation of that specific small object fail) but it's still nice
>to fix.
>
>Fixes: 80f7c6683fe0 ("team: add support for per-port options")
>Signed-off-by: Florent Revest <revest@xxxxxxxxxxxx>

Reviewed-by: Jiri Pirko <jiri@xxxxxxxxxx>

Thanks!