What happened
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.
Affected versions
Linux: 3b11a1decef07c19443d24ae926982bc8ec9f4c0 through before b5bcf3adfa27279da4401ab8f1e1a706601a92be (git); 3b11a1decef07c19443d24ae926982bc8ec9f4c0 through before ed64aa505875a3b4defd504ee8e59e1949246a62 (git); 3b11a1decef07c19443d24ae926982bc8ec9f4c0 through before b791401bf389a1546a830d2b381ca60fe94c7870 (git); 3b11a1decef07c19443d24ae926982bc8ec9f4c0 through before fedc88e38ce979a720cd2de042578cb5df3dc8de (git); 2.6.29 Fixed: See vendor advisory.
Why it matters
Review the vendor advisory and exposure of the affected product to determine operational impact.
Detection & mitigation
- Apply vendor-provided updates or mitigations.
- Review affected product exposure and access logs.
Public PoC references
No public PoC reference has passed the current publication threshold.