[PATCH v2] ima: Fix stack-out-of-bounds in is_bprm_creds_for_exec()
Chris Arges
carges at cloudflare.com
Sun Dec 28 03:16:43 UTC 2025
On 2025-12-23 16:58:26, Mimi Zohar wrote:
> Hi Chris,
>
> On Sun, 2025-12-21 at 12:01 -0600, Chris J Arges wrote:
> > KASAN reported a stack-out-of-bounds access in ima_appraise_measurement
> > from is_bprm_creds_for_exec:
> >
> > BUG: KASAN: stack-out-of-bounds in ima_appraise_measurement+0x12dc/0x16a0
> > Read of size 1 at addr ffffc9000160f940 by task sudo/550
> > The buggy address belongs to stack of task sudo/550
> > and is located at offset 24 in frame:
> > ima_appraise_measurement+0x0/0x16a0
> > This frame has 2 objects:
> > [48, 56) 'file'
> > [80, 148) 'hash'
> >
> > This is caused by using container_of on the *file pointer. This offset
> > calculation is what triggers the stack-out-of-bounds error.
> >
> > In order to fix this, pass in a bprm_is_check boolean which can be set
> > depending on how process_measurement is called. If the caller has a
> > linux_binprm pointer and the function is BPRM_CHECK we can determine
> > is_check and set it then. Otherwise set it to false.
> >
> > Fixes: 95b3cdafd7cb7 ("ima: instantiate the bprm_creds_for_exec() hook")
> >
> > Signed-off-by: Chris J Arges <carges at cloudflare.com>
>
> Thank you! I'd appreciate your limiting the line lengths to 80 chars (e.g.
> scripts/checkpatch.pl --max-line-length=80).
>
> --
> thanks,
>
> Mimi
Sure thing, I'll make that adjustment and send v3.
--chris
More information about the Linux-security-module-archive
mailing list