| From 101170315855daabc2b483b42f93fa8c591973bc Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 19 Oct 2021 20:27:26 +0900 |
| Subject: smackfs: use netlbl_cfg_cipsov4_del() for deleting cipso_v4_doi |
| |
| From: Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp> |
| |
| [ Upstream commit 0934ad42bb2c5df90a1b9de690f93de735b622fe ] |
| |
| syzbot is reporting UAF at cipso_v4_doi_search() [1], for smk_cipso_doi() |
| is calling kfree() without removing from the cipso_v4_doi_list list after |
| netlbl_cfg_cipsov4_map_add() returned an error. We need to use |
| netlbl_cfg_cipsov4_del() in order to remove from the list and wait for |
| RCU grace period before kfree(). |
| |
| Link: https://syzkaller.appspot.com/bug?extid=93dba5b91f0fed312cbd [1] |
| Reported-by: syzbot <syzbot+93dba5b91f0fed312cbd@syzkaller.appspotmail.com> |
| Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> |
| Fixes: 6c2e8ac0953fccdd ("netlabel: Update kernel configuration API") |
| Signed-off-by: Casey Schaufler <casey@schaufler-ca.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| security/smack/smackfs.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/security/smack/smackfs.c b/security/smack/smackfs.c |
| index fdf5f336f834a..6b6fec04c412b 100644 |
| --- a/security/smack/smackfs.c |
| +++ b/security/smack/smackfs.c |
| @@ -712,7 +712,7 @@ static void smk_cipso_doi(void) |
| if (rc != 0) { |
| printk(KERN_WARNING "%s:%d map add rc = %d\n", |
| __func__, __LINE__, rc); |
| - kfree(doip); |
| + netlbl_cfg_cipsov4_del(doip->doi, &nai); |
| return; |
| } |
| } |
| -- |
| 2.33.0 |
| |