In the Linux kernel, the following vulnerability has been resolved:
media: mtk-jpeg: Fix null-ptr-deref during unload module
The workqueue should be destroyed in mtkjpegcore.c since commit 09aea13ecf6f ("media: mtk-jpeg: refactor some variables"), otherwise the below calltrace can be easily triggered.
[ 677.862514] Unable to handle kernel paging request at virtual address dfff800000000023 [ 677.863633] KASAN: null-ptr-deref in range [0x0000000000000118-0x000000000000011f] ... [ 677.879654] CPU: 6 PID: 1071 Comm: modprobe Tainted: G O 6.8.12-mtk+gfa1a78e5d24b+ #17 ... [ 677.882838] pc : destroyworkqueue+0x3c/0x770 [ 677.883413] lr : mtkjpegdecdestroyworkqueue+0x70/0x88 [mtkjpegdechw] [ 677.884314] sp : ffff80008ad974f0 [ 677.884744] x29: ffff80008ad974f0 x28: ffff0000d7115580 x27: ffff0000dd691070 [ 677.885669] x26: ffff0000dd691408 x25: ffff8000844af3e0 x24: ffff80008ad97690 [ 677.886592] x23: ffff0000e051d400 x22: ffff0000dd691010 x21: dfff800000000000 [ 677.887515] x20: 0000000000000000 x19: 0000000000000000 x18: ffff800085397ac0 [ 677.888438] x17: 0000000000000000 x16: ffff8000801b87c8 x15: 1ffff000115b2e10 [ 677.889361] x14: 00000000f1f1f1f1 x13: 0000000000000000 x12: ffff7000115b2e4d [ 677.890285] x11: 1ffff000115b2e4c x10: ffff7000115b2e4c x9 : ffff80000aa43e90 [ 677.891208] x8 : 00008fffeea4d1b4 x7 : ffff80008ad97267 x6 : 0000000000000001 [ 677.892131] x5 : ffff80008ad97260 x4 : ffff7000115b2e4d x3 : 0000000000000000 [ 677.893054] x2 : 0000000000000023 x1 : dfff800000000000 x0 : 0000000000000118 [ 677.893977] Call trace: [ 677.894297] destroyworkqueue+0x3c/0x770 [ 677.894826] mtkjpegdecdestroyworkqueue+0x70/0x88 [mtkjpegdechw] [ 677.895677] devmactionrelease+0x50/0x90 [ 677.896211] releasenodes+0xe8/0x170 [ 677.896688] devresreleaseall+0xf8/0x178 [ 677.897219] deviceunbindcleanup+0x24/0x170 [ 677.897785] devicereleasedriverinternal+0x35c/0x480 [ 677.898461] devicereleasedriver+0x20/0x38 ... [ 677.912665] ---[ end trace 0000000000000000 ]---
[
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@bc3889a39baf783c64c6d628bbb74d76ce164bb1",
"id": "CVE-2024-56577-005e35d7",
"digest": {
"function_hash": "234069987431057120464514579064472975634",
"length": 1323.0
},
"target": {
"function": "mtk_jpegdec_hw_probe",
"file": "drivers/media/platform/mediatek/jpeg/mtk_jpeg_dec_hw.c"
},
"signature_type": "Function",
"signature_version": "v1"
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@17af2b39daf12870cac61ffc360e62bc35798afb",
"id": "CVE-2024-56577-0a9cc54c",
"digest": {
"threshold": 0.9,
"line_hashes": [
"110872253844518038708882618284152715629",
"20974016916382303694008276181049010617",
"299993419376260733119831195666026249201",
"75649388054582193599476114094240993792",
"192074247630283717568806749370926865492",
"593007125358622654493017867124567414",
"171412981105776261756049016005094415379",
"127288658542290413142408592677700045965",
"212533451608326167459246767230334108449",
"135440526696966200469813072212604345680",
"226963476846522764710252093198332391301",
"119860425710148457870548261741678006923",
"330609458155285480014355785664609326448",
"249249614364703331529470419363400514464",
"319674496337162873576958410852914146638"
]
},
"target": {
"file": "drivers/media/platform/mediatek/jpeg/mtk_jpeg_dec_hw.c"
},
"signature_type": "Line",
"signature_version": "v1"
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@17af2b39daf12870cac61ffc360e62bc35798afb",
"id": "CVE-2024-56577-11fa29f0",
"digest": {
"threshold": 0.9,
"line_hashes": [
"314926967406022146364745529399024742957",
"147523636256561668513491552820862539722",
"31856842555720887732330040742927602951",
"196098870215943147577161371142484162698",
"245821094031618219345974731247933496033",
"28774446504384163586227511079175147855",
"106004535413661848032004776496525415735"
]
},
"target": {
"file": "drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c"
},
"signature_type": "Line",
"signature_version": "v1"
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0ba08c21c6a92e6512e73644555120427c9a49d4",
"id": "CVE-2024-56577-17bb5247",
"digest": {
"function_hash": "234069987431057120464514579064472975634",
"length": 1323.0
},
"target": {
"function": "mtk_jpegdec_hw_probe",
"file": "drivers/media/platform/mediatek/jpeg/mtk_jpeg_dec_hw.c"
},
"signature_type": "Function",
"signature_version": "v1"
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0ba08c21c6a92e6512e73644555120427c9a49d4",
"id": "CVE-2024-56577-417c743e",
"digest": {
"threshold": 0.9,
"line_hashes": [
"314926967406022146364745529399024742957",
"147523636256561668513491552820862539722",
"31856842555720887732330040742927602951",
"196098870215943147577161371142484162698",
"245821094031618219345974731247933496033",
"28774446504384163586227511079175147855",
"106004535413661848032004776496525415735"
]
},
"target": {
"file": "drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c"
},
"signature_type": "Line",
"signature_version": "v1"
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@17af2b39daf12870cac61ffc360e62bc35798afb",
"id": "CVE-2024-56577-6f534f6e",
"digest": {
"function_hash": "30562829275301847630023320984870058569",
"length": 2503.0
},
"target": {
"function": "mtk_jpeg_probe",
"file": "drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c"
},
"signature_type": "Function",
"signature_version": "v1"
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@bc3889a39baf783c64c6d628bbb74d76ce164bb1",
"id": "CVE-2024-56577-7e42544c",
"digest": {
"threshold": 0.9,
"line_hashes": [
"110872253844518038708882618284152715629",
"20974016916382303694008276181049010617",
"299993419376260733119831195666026249201",
"75649388054582193599476114094240993792",
"192074247630283717568806749370926865492",
"593007125358622654493017867124567414",
"171412981105776261756049016005094415379",
"127288658542290413142408592677700045965",
"212533451608326167459246767230334108449",
"135440526696966200469813072212604345680",
"226963476846522764710252093198332391301",
"119860425710148457870548261741678006923",
"330609458155285480014355785664609326448",
"249249614364703331529470419363400514464",
"319674496337162873576958410852914146638"
]
},
"target": {
"file": "drivers/media/platform/mediatek/jpeg/mtk_jpeg_dec_hw.c"
},
"signature_type": "Line",
"signature_version": "v1"
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0ba08c21c6a92e6512e73644555120427c9a49d4",
"id": "CVE-2024-56577-8f5776e6",
"digest": {
"function_hash": "30562829275301847630023320984870058569",
"length": 2503.0
},
"target": {
"function": "mtk_jpeg_probe",
"file": "drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c"
},
"signature_type": "Function",
"signature_version": "v1"
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@bc3889a39baf783c64c6d628bbb74d76ce164bb1",
"id": "CVE-2024-56577-b1744784",
"digest": {
"function_hash": "30562829275301847630023320984870058569",
"length": 2503.0
},
"target": {
"function": "mtk_jpeg_probe",
"file": "drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c"
},
"signature_type": "Function",
"signature_version": "v1"
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@17af2b39daf12870cac61ffc360e62bc35798afb",
"id": "CVE-2024-56577-bc55e5e1",
"digest": {
"function_hash": "234069987431057120464514579064472975634",
"length": 1323.0
},
"target": {
"function": "mtk_jpegdec_hw_probe",
"file": "drivers/media/platform/mediatek/jpeg/mtk_jpeg_dec_hw.c"
},
"signature_type": "Function",
"signature_version": "v1"
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0ba08c21c6a92e6512e73644555120427c9a49d4",
"id": "CVE-2024-56577-ca7bb69f",
"digest": {
"threshold": 0.9,
"line_hashes": [
"110872253844518038708882618284152715629",
"20974016916382303694008276181049010617",
"299993419376260733119831195666026249201",
"75649388054582193599476114094240993792",
"192074247630283717568806749370926865492",
"593007125358622654493017867124567414",
"171412981105776261756049016005094415379",
"127288658542290413142408592677700045965",
"212533451608326167459246767230334108449",
"135440526696966200469813072212604345680",
"226963476846522764710252093198332391301",
"119860425710148457870548261741678006923",
"330609458155285480014355785664609326448",
"249249614364703331529470419363400514464",
"319674496337162873576958410852914146638"
]
},
"target": {
"file": "drivers/media/platform/mediatek/jpeg/mtk_jpeg_dec_hw.c"
},
"signature_type": "Line",
"signature_version": "v1"
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@bc3889a39baf783c64c6d628bbb74d76ce164bb1",
"id": "CVE-2024-56577-cb921bb5",
"digest": {
"threshold": 0.9,
"line_hashes": [
"314926967406022146364745529399024742957",
"147523636256561668513491552820862539722",
"31856842555720887732330040742927602951",
"196098870215943147577161371142484162698",
"245821094031618219345974731247933496033",
"28774446504384163586227511079175147855",
"106004535413661848032004776496525415735"
]
},
"target": {
"file": "drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c"
},
"signature_type": "Line",
"signature_version": "v1"
}
]