smack: fix cred UAF in smack_file_send_sigiotask()
21Vexday Risk Score
No sign of exploitation. No public exploitation artifact known so far.
ssvc Trackcvss 7.8epss 0.1%
exploitation probability
0.1%top 97% of all CVEs
observed exploitation
nono source reports it
In the Linux kernel, the following vulnerability has been resolved:
smack: fix cred UAF in smack_file_send_sigiotask()
When inspecting the credentials of another task, objective credentials
(->real_cred, accessed with __task_cred()) must always be used.
Accessing ->cred on a non-current task is forbidden unless that task is
being created or destroyed; a task is allowed to change its own ->cred
pointer with no synchronization, and changing ->cred should only affect the
current syscall.
smack_file_send_sigiotask() was accessing both sets of credentials: First
tsk->cred, then __task_cred(tsk).
Fix it, always access the objective credentials here.
I have tested that this bug can lead to a KASAN-reported UAF of struct cred
in smack_file_send_sigiotask(), and that this fix prevents the race.
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Affected products
Linux · LinuxReferences
https://git.kernel.org/stable/c/7c7fe043f3099d0d35002b248967f75e55345b93https://git.kernel.org/stable/c/a512366d84e134a9eefc2cc40eeb6e80e2ec162chttps://git.kernel.org/stable/c/b5bcf3adfa27279da4401ab8f1e1a706601a92behttps://git.kernel.org/stable/c/b791401bf389a1546a830d2b381ca60fe94c7870https://git.kernel.org/stable/c/ed64aa505875a3b4defd504ee8e59e1949246a62https://git.kernel.org/stable/c/f9c7b1f2b9d8f4176d2632743f51400855978acehttps://git.kernel.org/stable/c/fedc88e38ce979a720cd2de042578cb5df3dc8de