In the Linux kernel, the following vulnerability has been resolved:
tracing: Fix memory leak in tracingreadpipe()
kmemleak reports this issue:
unreferenced object 0xffff888105a18900 (size 128): comm "testprogs", pid 18933, jiffies 4336275356 (age 22801.766s) hex dump (first 32 bytes): 25 73 00 90 81 88 ff ff 26 05 00 00 42 01 58 04 %s......&...B.X. 03 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace: [<00000000560143a1>] _kmallocnodetrackcaller+0x4a/0x140 [<000000006af00822>] krealloc+0x8d/0xf0 [<00000000c309be6a>] traceiterexpandformat+0x99/0x150 [<000000005a53bdb6>] tracecheckvprintf+0x1e0/0x11d0 [<0000000065629d9d>] traceeventprintf+0xb6/0xf0 [<000000009a690dc7>] tracerawoutputbpftraceprintk+0x89/0xc0 [<00000000d22db172>] printtraceline+0x73c/0x1480 [<00000000cdba76ba>] tracingreadpipe+0x45c/0x9f0 [<0000000015b58459>] vfsread+0x17b/0x7c0 [<000000004aeee8ed>] ksysread+0xed/0x1c0 [<0000000063d3d898>] dosyscall64+0x3b/0x90 [<00000000a06dda7f>] entrySYSCALL64after_hwframe+0x63/0xcd
iter->fmt alloced in tracingreadpipe() -> .. ->traceiterexpandformat(), but not freed, to fix, add free in tracingrelease_pipe()
[
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2c21ee020ce43d744ecd7f3e9bddfcaafef270ce",
"id": "CVE-2022-49801-1d2e0739",
"digest": {
"line_hashes": [
"221988766483377355871402681417392823565",
"144532876928966918828433577017737991611",
"84325134084954301125264173946125735811",
"340189609214606956100128746569032088356"
],
"threshold": 0.9
},
"target": {
"file": "kernel/trace/trace.c"
},
"signature_type": "Line",
"signature_version": "v1"
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@649e72070cbbb8600eb823833e4748f5a0815116",
"id": "CVE-2022-49801-51ef73c6",
"digest": {
"line_hashes": [
"221988766483377355871402681417392823565",
"144532876928966918828433577017737991611",
"84325134084954301125264173946125735811",
"340189609214606956100128746569032088356"
],
"threshold": 0.9
},
"target": {
"file": "kernel/trace/trace.c"
},
"signature_type": "Line",
"signature_version": "v1"
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@649e72070cbbb8600eb823833e4748f5a0815116",
"id": "CVE-2022-49801-8f919ef1",
"digest": {
"function_hash": "237959723182111370596391057483452838550",
"length": 402.0
},
"target": {
"function": "tracing_release_pipe",
"file": "kernel/trace/trace.c"
},
"signature_type": "Function",
"signature_version": "v1"
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a7d3f8f33c113478737bc61bb32ec5f9a987da7d",
"id": "CVE-2022-49801-ccb789da",
"digest": {
"line_hashes": [
"221988766483377355871402681417392823565",
"144532876928966918828433577017737991611",
"84325134084954301125264173946125735811",
"340189609214606956100128746569032088356"
],
"threshold": 0.9
},
"target": {
"file": "kernel/trace/trace.c"
},
"signature_type": "Line",
"signature_version": "v1"
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2c21ee020ce43d744ecd7f3e9bddfcaafef270ce",
"id": "CVE-2022-49801-d2f430a5",
"digest": {
"function_hash": "237959723182111370596391057483452838550",
"length": 402.0
},
"target": {
"function": "tracing_release_pipe",
"file": "kernel/trace/trace.c"
},
"signature_type": "Function",
"signature_version": "v1"
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a7d3f8f33c113478737bc61bb32ec5f9a987da7d",
"id": "CVE-2022-49801-e8d175ae",
"digest": {
"function_hash": "237959723182111370596391057483452838550",
"length": 402.0
},
"target": {
"function": "tracing_release_pipe",
"file": "kernel/trace/trace.c"
},
"signature_type": "Function",
"signature_version": "v1"
}
]