Re: [PATCH] exec: NULL out bprm->argv0 when it is an ERR_PTR

From: Kirill A. Shutemov
Date: Wed Nov 06 2024 - 03:28:50 EST


On Tue, Nov 05, 2024 at 10:19:11AM -0800, Kees Cook wrote:
> Attempting to free an ERR_PTR will not work. ;)
>
> process 'syz-executor210' launched '/dev/fd/3' with NULL argv: empty string added
> kernel BUG at arch/x86/mm/physaddr.c:23!
>
> Set bprm->argv0 to NULL if it fails to get a string from userspace so
> that bprm_free() will not try to free an invalid pointer when cleaning up.
>
> Reported-by: syzbot+03e1af5c332f7e0eb84b@xxxxxxxxxxxxxxxxxxxxxxxxx
> Closes: https://lore.kernel.org/all/6729d8d1.050a0220.701a.0017.GAE@xxxxxxxxxx
> Fixes: 7bdc6fc85c9a ("exec: fix up /proc/pid/comm in the execveat(AT_EMPTY_PATH) case")
> Signed-off-by: Kees Cook <kees@xxxxxxxxxx>
> ---
> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx>
> Cc: Christian Brauner <brauner@xxxxxxxxxx>
> Cc: Jan Kara <jack@xxxxxxx>
> Cc: Eric Biederman <ebiederm@xxxxxxxxxxxx>
> Cc: linux-fsdevel@xxxxxxxxxxxxxxx
> Cc: linux-mm@xxxxxxxxx

Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>

--
Kiryl Shutsemau / Kirill A. Shutemov