In the Linux kernel, the following vulnerability has been resolved:
tracing: kprobe: Fix memory leak in testgenkprobe/kretprobe_cmd()
testgenkprobecmd() only free buf in fail path, hence buf will leak when there is no failure. Move kfree(buf) from fail path to common path to prevent the memleak. The same reason and solution in testgenkretprobecmd().
unreferenced object 0xffff888143b14000 (size 2048): comm "insmod", pid 52490, jiffies 4301890980 (age 40.553s) hex dump (first 32 bytes): 70 3a 6b 70 72 6f 62 65 73 2f 67 65 6e 5f 6b 70 p:kprobes/genkp 72 6f 62 65 5f 74 65 73 74 20 64 6f 5f 73 79 73 robetest dosys backtrace: [<000000006d7b836b>] kmalloctrace+0x27/0xa0 [<0000000009528b5b>] 0xffffffffa059006f [<000000008408b580>] dooneinitcall+0x87/0x2a0 [<00000000c4980a7e>] doinitmodule+0xdf/0x320 [<00000000d775aad0>] loadmodule+0x3006/0x3390 [<00000000e9a74b80>] _dosysfinitmodule+0x113/0x1b0 [<000000003726480d>] dosyscall64+0x35/0x80 [<000000003441e93b>] entrySYSCALL64after_hwframe+0x46/0xb0
{ "vanir_signatures": [ { "id": "CVE-2022-49891-053ba9a3", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@71aeb8d01a8c7ab5cf7da3f81b35206f56ce6bca", "deprecated": false, "signature_version": "v1", "signature_type": "Function", "digest": { "length": 798.0, "function_hash": "115525732381021573568177353319485876024" }, "target": { "file": "kernel/trace/kprobe_event_gen_test.c", "function": "test_gen_kretprobe_cmd" } }, { "id": "CVE-2022-49891-056127b3", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@bef08acbe560a926b4cee9cc46404cc98ae5703b", "deprecated": false, "signature_version": "v1", "signature_type": "Line", "digest": { "threshold": 0.9, "line_hashes": [ "133575757203024953368776055158904505394", "112265394703825248418464793129130066749", "261449692660750141279632763297153343316", "184888323460573823652886664846323522645", "30483191923767126998133947988833684699", "171194003407490118530098966929832448139", "266935613626291711409057836681274056579", "40827172224367942283620921691136587152", "284494807643238827661261199082634720046", "253289972445440124627130515968111532758", "31329521163471712587838183889032357206", "76302324451240614261234476338796679114", "72810546491386270709879769402292067929", "28098006389849060194660472046554820565", "129807323437738808481910187336132950711", "143398700893202993123371822027372703367", "171988911989429456902547379322191253006", "71895368279000599404494126591526211151", "116126847601312585286687986525717814912", "56109598796586156082491820084957357243", "241859191257610940853920163279665086571", "57994691459228186944071029177572704808", "283243691293919685399444313732993855153", "70561550704064884337494612920812558939", "164757767554932665084302466332924009816", "308628451436439393651852920897112479992", "55646427598052649435026558403169391316", "76302324451240614261234476338796679114", "72810546491386270709879769402292067929", "4148447566718598677290360172784664484", "243128003061920340338085697636064174760", "125562195481552851514481067771904898657", "132537334570706641508922791443063012496", "71895368279000599404494126591526211151", "169832746520933519808716457987163679588" ] }, "target": { "file": "kernel/trace/kprobe_event_gen_test.c" } }, { "id": "CVE-2022-49891-1c8e5388", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66f0919c953ef7b55e5ab94389a013da2ce80a2c", "deprecated": false, "signature_version": "v1", "signature_type": "Line", "digest": { "threshold": 0.9, "line_hashes": [ "133575757203024953368776055158904505394", "112265394703825248418464793129130066749", "261449692660750141279632763297153343316", "184888323460573823652886664846323522645", "30483191923767126998133947988833684699", "171194003407490118530098966929832448139", "266935613626291711409057836681274056579", "40827172224367942283620921691136587152", "284494807643238827661261199082634720046", "253289972445440124627130515968111532758", "31329521163471712587838183889032357206", "76302324451240614261234476338796679114", "72810546491386270709879769402292067929", "28098006389849060194660472046554820565", "129807323437738808481910187336132950711", "143398700893202993123371822027372703367", "171988911989429456902547379322191253006", "71895368279000599404494126591526211151", "116126847601312585286687986525717814912", "56109598796586156082491820084957357243", "241859191257610940853920163279665086571", "57994691459228186944071029177572704808", "283243691293919685399444313732993855153", "70561550704064884337494612920812558939", "164757767554932665084302466332924009816", "308628451436439393651852920897112479992", "55646427598052649435026558403169391316", "76302324451240614261234476338796679114", "72810546491386270709879769402292067929", "4148447566718598677290360172784664484", "243128003061920340338085697636064174760", "125562195481552851514481067771904898657", "132537334570706641508922791443063012496", "71895368279000599404494126591526211151", "169832746520933519808716457987163679588" ] }, "target": { "file": "kernel/trace/kprobe_event_gen_test.c" } }, { "id": "CVE-2022-49891-22748812", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@bef08acbe560a926b4cee9cc46404cc98ae5703b", "deprecated": false, "signature_version": "v1", "signature_type": "Function", "digest": { "length": 798.0, "function_hash": "115525732381021573568177353319485876024" }, "target": { "file": "kernel/trace/kprobe_event_gen_test.c", "function": "test_gen_kretprobe_cmd" } }, { "id": "CVE-2022-49891-2fcd26de", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d1b6a8e3414aeaa0985139180c145d2d0fbd2a49", "deprecated": false, "signature_version": "v1", "signature_type": "Line", "digest": { "threshold": 0.9, "line_hashes": [ "133575757203024953368776055158904505394", "112265394703825248418464793129130066749", "261449692660750141279632763297153343316", "184888323460573823652886664846323522645", "30483191923767126998133947988833684699", "171194003407490118530098966929832448139", "266935613626291711409057836681274056579", "40827172224367942283620921691136587152", "284494807643238827661261199082634720046", "253289972445440124627130515968111532758", "31329521163471712587838183889032357206", "76302324451240614261234476338796679114", "72810546491386270709879769402292067929", "28098006389849060194660472046554820565", "129807323437738808481910187336132950711", "143398700893202993123371822027372703367", "171988911989429456902547379322191253006", "71895368279000599404494126591526211151", "116126847601312585286687986525717814912", "56109598796586156082491820084957357243", "241859191257610940853920163279665086571", "57994691459228186944071029177572704808", "283243691293919685399444313732993855153", "70561550704064884337494612920812558939", "164757767554932665084302466332924009816", "308628451436439393651852920897112479992", "55646427598052649435026558403169391316", "76302324451240614261234476338796679114", "72810546491386270709879769402292067929", "4148447566718598677290360172784664484", "243128003061920340338085697636064174760", "125562195481552851514481067771904898657", "132537334570706641508922791443063012496", "71895368279000599404494126591526211151", "169832746520933519808716457987163679588" ] }, "target": { "file": "kernel/trace/kprobe_event_gen_test.c" } }, { "id": "CVE-2022-49891-32215a61", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66f0919c953ef7b55e5ab94389a013da2ce80a2c", "deprecated": false, "signature_version": "v1", "signature_type": "Function", "digest": { "length": 901.0, "function_hash": "179857330569898078300281711537832764643" }, "target": { "file": "kernel/trace/kprobe_event_gen_test.c", "function": "test_gen_kprobe_cmd" } }, { "id": "CVE-2022-49891-4f82728b", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d1b6a8e3414aeaa0985139180c145d2d0fbd2a49", "deprecated": false, "signature_version": "v1", "signature_type": "Function", "digest": { "length": 901.0, "function_hash": "179857330569898078300281711537832764643" }, "target": { "file": "kernel/trace/kprobe_event_gen_test.c", "function": "test_gen_kprobe_cmd" } }, { "id": "CVE-2022-49891-73f12ba5", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@66f0919c953ef7b55e5ab94389a013da2ce80a2c", "deprecated": false, "signature_version": "v1", "signature_type": "Function", "digest": { "length": 798.0, "function_hash": "115525732381021573568177353319485876024" }, "target": { "file": "kernel/trace/kprobe_event_gen_test.c", "function": "test_gen_kretprobe_cmd" } }, { "id": "CVE-2022-49891-81f499d8", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@bef08acbe560a926b4cee9cc46404cc98ae5703b", "deprecated": false, "signature_version": "v1", "signature_type": "Function", "digest": { "length": 901.0, "function_hash": "179857330569898078300281711537832764643" }, "target": { "file": "kernel/trace/kprobe_event_gen_test.c", "function": "test_gen_kprobe_cmd" } }, { "id": "CVE-2022-49891-e07de033", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d1b6a8e3414aeaa0985139180c145d2d0fbd2a49", "deprecated": false, "signature_version": "v1", "signature_type": "Function", "digest": { "length": 798.0, "function_hash": "115525732381021573568177353319485876024" }, "target": { "file": "kernel/trace/kprobe_event_gen_test.c", "function": "test_gen_kretprobe_cmd" } }, { "id": "CVE-2022-49891-e5e12472", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@71aeb8d01a8c7ab5cf7da3f81b35206f56ce6bca", "deprecated": false, "signature_version": "v1", "signature_type": "Function", "digest": { "length": 901.0, "function_hash": "179857330569898078300281711537832764643" }, "target": { "file": "kernel/trace/kprobe_event_gen_test.c", "function": "test_gen_kprobe_cmd" } }, { "id": "CVE-2022-49891-fcf6fd7a", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@71aeb8d01a8c7ab5cf7da3f81b35206f56ce6bca", "deprecated": false, "signature_version": "v1", "signature_type": "Line", "digest": { "threshold": 0.9, "line_hashes": [ "133575757203024953368776055158904505394", "112265394703825248418464793129130066749", "261449692660750141279632763297153343316", "184888323460573823652886664846323522645", "30483191923767126998133947988833684699", "171194003407490118530098966929832448139", "266935613626291711409057836681274056579", "40827172224367942283620921691136587152", "284494807643238827661261199082634720046", "253289972445440124627130515968111532758", "31329521163471712587838183889032357206", "76302324451240614261234476338796679114", "72810546491386270709879769402292067929", "28098006389849060194660472046554820565", "129807323437738808481910187336132950711", "143398700893202993123371822027372703367", "171988911989429456902547379322191253006", "71895368279000599404494126591526211151", "116126847601312585286687986525717814912", "56109598796586156082491820084957357243", "241859191257610940853920163279665086571", "57994691459228186944071029177572704808", "283243691293919685399444313732993855153", "70561550704064884337494612920812558939", "164757767554932665084302466332924009816", "308628451436439393651852920897112479992", "55646427598052649435026558403169391316", "76302324451240614261234476338796679114", "72810546491386270709879769402292067929", "4148447566718598677290360172784664484", "243128003061920340338085697636064174760", "125562195481552851514481067771904898657", "132537334570706641508922791443063012496", "71895368279000599404494126591526211151", "169832746520933519808716457987163679588" ] }, "target": { "file": "kernel/trace/kprobe_event_gen_test.c" } } ] }