CVE-2022-50553: tracing/hist: Fix out-of-bound write on 'action_data.var_ref_idx'

Published Oct 7, 2025
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

tracing/hist: Fix out-of-bound write on 'actiondata.varrefidx'

When generate a synthetic event with many params and then create a trace action for it [1], kernel panic happened [2].

It is because that in traceactioncreate() 'data->nparams' is up to SYNTHFIELDSMAX (current value is 64), and array 'data->varrefidx' keeps indices into array 'histdata->varrefs' for each synthetic event param, but the length of 'data->varrefidx' is TRACINGMAPVARSMAX (current value is 16), so out-of-bound write happened when 'data->nparams' more than 16. In this case, 'data->matchdata.event' is overwritten and eventually cause the panic.

To solve the issue, adjust the length of 'data->varrefidx' to be SYNTHFIELDSMAX and add sanity checks to avoid out-of-bound write.

[1] # cd /sys/kernel/tracing/ # echo "mysynthevent int v1; int v2; int v3; int v4; int v5; int v6;\ int v7; int v8; int v9; int v10; int v11; int v12; int v13; int v14;\ int v15; int v16; int v17; int v18; int v19; int v20; int v21; int v22;\ int v23; int v24; int v25; int v26; int v27; int v28; int v29; int v30;\ int v31; int v32; int v33; int v34; int v35; int v36; int v37; int v38;\ int v39; int v40; int v41; int v42; int v43; int v44; int v45; int v46;\ int v47; int v48; int v49; int v50; int v51; int v52; int v53; int v54;\ int v55; int v56; int v57; int v58; int v59; int v60; int v61; int v62;\ int v63" >> syntheticevents # echo 'hist:keys=pid:ts0=commontimestamp.usecs if comm=="bash"' >> \ events/sched/schedwaking/trigger # echo "hist:keys=nextpid:onmatch(sched.schedwaking).mysynthevent(\ pid,pid,pid,pid,pid,pid,pid,pid,pid,pid,pid,pid,pid,pid,pid,pid,pid,pid,\ pid,pid,pid,pid,pid,pid,pid,pid,pid,pid,pid,pid,pid,pid,pid,pid,pid,pid,\ pid,pid,pid,pid,pid,pid,pid,pid,pid,pid,pid,pid,pid,pid,pid,pid,pid,pid,\ pid,pid,pid,pid,pid,pid,pid,pid,pid)" >> events/sched/schedswitch/trigger

[2] BUG: unable to handle page fault for address: ffff91c900000000 PGD 61001067 P4D 61001067 PUD 0 Oops: 0000 [#1] PREEMPT SMP NOPTI CPU: 2 PID: 322 Comm: bash Tainted: G W 6.1.0-rc8+ #229 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.15.0-0-g2dd4b9b3f840-prebuilt.qemu.org 04/01/2014 RIP: 0010:strcmp+0xc/0x30 Code: 75 f7 31 d2 44 0f b6 04 16 44 88 04 11 48 83 c2 01 45 84 c0 75 ee c3 cc cc cc cc 0f 1f 00 31 c0 eb 08 48 83 c0 01 84 d2 74 13 <0f> b6 14 07 3a 14 06 74 ef 19 c0 83 c8 01 c3 cc cc cc cc 31 c3 RSP: 0018:ffff9b3b00f53c48 EFLAGS: 00000246 RAX: 0000000000000000 RBX: ffffffffba958a68 RCX: 0000000000000000 RDX: 0000000000000010 RSI: ffff91c943d33a90 RDI: ffff91c900000000 RBP: ffff91c900000000 R08: 00000018d604b529 R09: 0000000000000000 R10: ffff91c9483eddb1 R11: ffff91ca483eddab R12: ffff91c946171580 R13: ffff91c9479f0538 R14: ffff91c9457c2848 R15: ffff91c9479f0538 FS: 00007f1d1cfbe740(0000) GS:ffff91c9bdc80000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: ffff91c900000000 CR3: 0000000006316000 CR4: 00000000000006e0 Call Trace: <TASK> findeventfile+0x55/0x90 actioncreate+0x76c/0x1060 eventhisttriggerparse+0x146d/0x2060 ? eventtriggerwrite+0x31/0xd0 triggerprocessregex+0xbb/0x110 eventtriggerwrite+0x6b/0xd0 vfswrite+0xc8/0x3e0 ? allocfd+0xc0/0x160 ? preemptcountadd+0x4d/0xa0 ? preemptcountadd+0x70/0xa0 ksyswrite+0x5f/0xe0 dosyscall64+0x3b/0x90 entrySYSCALL64afterhwframe+0x63/0xcd RIP: 0033:0x7f1d1d0cf077 Code: 64 89 02 48 c7 c0 ff ff ff ff eb bb 0f 1f 80 00 00 00 00 f3 0f 1e fa 64 8b 04 25 18 00 00 00 85 c0 75 10 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 51 c3 48 83 ec 28 48 89 54 24 18 48 89 74 RSP: 002b:00007ffcebb0e568 EFLAGS: 00000246 ORIGRAX: 0000000000000001 RAX: ffffffffffffffda RBX: 0000000000000143 RCX: 00007f1d1d0cf077 RDX: 0000000000000143 RSI: 00005639265aa7e0 RDI: 0000000000000001 RBP: 00005639265aa7e0 R08: 000000000000000a R09: 0000000000000142 R ---truncated---

Affected Software

6 affected components
Linux Linux kernel
Linux Linux kernel>=5.4.19<5.4.229
Linux Linux kernel>=5.5.6<5.10.163
Linux Linux kernel>=5.11<5.15.87
Linux Linux kernel>=5.16<6.0.18
Linux Linux kernel>=6.1<6.1.4

Event History

Oct 7, 2025
CVE Published
via MITRE·03:21 PM
Data Sourced
via MITRE·03:21 PM
Description
Data Sourced
via NVD·04:15 PM
RemedyDescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

What is the severity of CVE-2022-50553?

CVE-2022-50553 is considered a high severity vulnerability due to its potential to cause a kernel panic.

2

How do I fix CVE-2022-50553?

To fix CVE-2022-50553, upgrade to the latest stable version of the Linux kernel that includes the patch.

3

What software is affected by CVE-2022-50553?

CVE-2022-50553 affects the Linux kernel across various versions that include the vulnerable tracing/hist module.

4

What is the primary impact of CVE-2022-50553?

The primary impact of CVE-2022-50553 is the possibility of an out-of-bounds write that can lead to a kernel panic.

5

Is CVE-2022-50553 being actively exploited?

As of now, there is no public information indicating that CVE-2022-50553 is being actively exploited in the wild.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203