In the Linux kernel, the following vulnerability has been resolved:
ftrace: Fix potential warning in trace_printk_seq during ftrace_dump
When calling ftrace_dump_one() concurrently with reading trace_pipe,
a WARN_ON_ONCE() in trace_printk_seq() can be triggered due to a race
condition.
The issue occurs because:
CPU0 (ftrace_dump) CPU1 (reader)
echo z > /proc/sysrq-trigger
!trace_empty(&iter)
trace_iterator_reset(&iter) <- len = size = 0
cat /sys/kernel/tracing/trace_pipe
trace_find_next_entry_inc(&iter)
__find_next_entry
ring_buffer_empty_cpu <- all empty
return NULL
trace_printk_seq(&iter.seq)
WARN_ON_ONCE(s->seq.len >= s->seq.size)
In the context between trace_empty() and trace_find_next_entry_inc()
during ftrace_dump, the ring buffer data was consumed by other readers.
This caused trace_find_next_entry_inc to return NULL, failing to populate
`iter.seq`. At this point, due to the prior trace_iterator_reset, both
`iter.seq.len` and `iter.seq.size` were set to 0. Since they are equal,
the WARN_ON_ONCE condition is triggered.
Move the trace_printk_seq() into the if block that checks to make sure the
return value of trace_find_next_entry_inc() is non-NULL in
ftrace_dump_one(), ensuring the 'iter.seq' is properly populated before
subsequent operations.
CVSS
4.7 MEDIUM (v3.1, NVD)CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
from d769041f865330034131525ee6a7f72eb4af2a24 before f299353e7ccbcc5c2ed8993c48fbe7609cbe729a; from d769041f865330034131525ee6a7f72eb4af2a24 before 5ab0ec206deb99eb3baf8f1d7602aeaa91dbcc85; from d769041f865330034131525ee6a7f72eb4af2a24 before a6f0f8873cc30fd4543b09adf03f7f51d293f0e6; from d769041f865330034131525ee6a7f72eb4af2a24 before e80ff23ba8bdb0f41a1afe2657078e4097d13a9a; from d769041f865330034131525ee6a7f72eb4af2a24 before 28c8fb7ae2ad27d81c8de3c4fe608c509f6a18aa; from d769041f865330034131525ee6a7f72eb4af2a24 before ced94e137e6cd5e79c65564841d3b7695d0f5fa3; from d769041f865330034131525ee6a7f72eb4af2a24 before fbd4cf7ee4db65ef36796769fe978e9eba6f0de4; from d769041f865330034131525ee6a7f72eb4af2a24 before 4013aef2ced9b756a410f50d12df9ebe6a883e4a
from 2.6.28 before 5.4.298; from 5.5 before 5.10.242; from 5.11 before 5.15.191; from 5.16 before 6.1.150; from 6.2 before 6.6.104; from 6.7 before 6.12.45; from 6.13 before 6.16.5; 6.17; and 1 more ranges
The CVE record is authoritative. Products marked “from the name” were identified from the CNA's free-text names, not a CPE, and are matched less certainly. This product uses the NVD API but is not endorsed or certified by the NVD.
Printed from infosecsignals.com. Every record links back to the agency that published it.
Your cookie choices
We use essential cookies to run this site, and, only with your consent, an advertising cookie from Google to measure whether our ads lead to sign-ups and subscriptions. See our for details.