]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
pam_exec: fix segfault when authtok is null
authorYan Ka Chiu <nyan@myuji.xyz>
Sun, 22 May 2022 16:33:02 +0000 (12:33 -0400)
committerKa Ho Ng <khng@FreeBSD.org>
Fri, 24 Jun 2022 09:09:59 +0000 (05:09 -0400)
commitea80848e1c0639e2ac8d3f974ddb9c6233491eb3
tree4f6011f87fc8d33aad7d29c85950f126132801ab
parentd4af9eb430ceb48e74027193534b33c86ccda2cc
pam_exec: fix segfault when authtok is null

According to pam_exec(8), the `expose_authtok` option should be ignored
when the service function is `pam_sm_setcred`. Currently `pam_exec` only
prevent prompt for anth token when `expose_authtok` is set on
`pam_sm_setcred`. This subsequently led to segfault when there isn't an
existing auth token available.

Bug reported on this: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=263893

After reading https://reviews.freebsd.org/rS349556 I am not sure if the
default behaviour supposed to be simply not prompt for authentication
token, or is it to ignore the option entirely as stated in the man page.

This patch is therefore only adding an additional NULL check on the item
`pam_get_item` provide, and exit with `PAM_SYSTEM_ERR` when such item is
NULL.

MFC after: 1 week
Reviewed by: des, khng
Differential Revision: https://reviews.freebsd.org/D35169

(cherry picked from commit b75e0eed345d2ab047a6b1b00a9a7c3bf92e992c)
lib/libpam/modules/pam_exec/pam_exec.c