All vulnerabilities
CVE-2026-98584

Linux: net/sched: fix potential stack infoleak in em_text_dump()

Linux LinuxOperating systems
CVSS
NoneNot scored
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)0.20%Chance of exploitation activity in the next 30 days, higher than 9% of CVEs. Scored 23 Oct 2026FIRST EPSS
Fixed in9923e1c537f91f3530b52d4efce85f3d9c131bf8Also 0b160417826d22f24fc31a5b9cfae3b14aa70f76, 9c572a83037a7dcd653ba3a9cc468c16b857d0c9CVE List
Published18 Oct 2026Updated 19 Oct 2026CVE List

What fixes it

  • 9923e1c537f91f3530b52d4efce85f3d9c131bf8LinuxCVE List
  • 0b160417826d22f24fc31a5b9cfae3b14aa70f76LinuxCVE List
  • 9c572a83037a7dcd653ba3a9cc468c16b857d0c9LinuxCVE List

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

Description

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

net/sched: fix potential stack infoleak in em_text_dump()

em_text_dump() allocates struct tcf_em_text on the stack without zeroing it. strscpy() writes the algorithm name and a NUL terminator into conf.algo[], leaving the remaining bytes uninitialised. nla_put_nohdr() then copies the full struct to the netlink response.

KMSAN on Linux 7.2-rc6 reports two kernel-infoleak splats from this path, one triggered via "tc filter show" and one via a raw RTM_GETTFILTER dump:

BUG: KMSAN: kernel-infoleak in _copy_to_iter+0x1c9/0x2620 nla_put_nohdr+0x83/0x130 em_text_dump+0x291/0x550 Local variable conf created at: em_text_dump+0x5d/0x550 Bytes 168-179 of 199 are uninitialized

I am not certain whether this constitutes a real security problem in practice: the test was conducted in a controlled KMSAN environment and the leaked stack bytes may or may not carry sensitive data on actual production kernels. I am reporting it because KMSAN flagged it as a kernel-infoleak and the fix is straightforward. I can provide a userspace reproducer on request.

The original code used strncpy() which zero-pads to the destination size. Commit b04202d6065c ("net/sched: replace strncpy with strscpy") replaced it with strscpy(), which does not pad, creating this condition. Zero-initialising the struct closes it.

Text from CVE List

Affected versions 8

  • Linuxaffected: b04202d6065cba5dfd51fb9866400b25573eac67 before 9923e1c537f91f3530b52d4efce85f3d9c131bf8CVE List
  • Linuxaffected: b04202d6065cba5dfd51fb9866400b25573eac67 before 0b160417826d22f24fc31a5b9cfae3b14aa70f76CVE List
  • Linuxaffected: b04202d6065cba5dfd51fb9866400b25573eac67 before 9c572a83037a7dcd653ba3a9cc468c16b857d0c9CVE List
  • Linuxaffected: 6.17CVE List
  • Linuxunaffected: all versions before 6.17CVE List
  • Linuxunaffected: 6.18.55 through 6.18.*CVE List
  • Linuxunaffected: 7.2.9 through 7.2.*CVE List
  • Linuxunaffected: 7.3CVE List

References 3