CVE-2025-38346 — ftrace: Fix UAF when lookup kallsym after ftrace disabled
In the Linux kernel, the following vulnerability has been resolved: ftrace: Fix UAF when lookup kallsym after ftrace disabled The following issue happens with a buggy module: BUG: unable to handle page fault for address: ffffffffc05d0218 PGD 1bd66f067 P4D 1bd66f067 PUD 1bd671067 PMD 101808067 PTE 0 Oops: Oops: 0000 [#1] SMP KASAN PTI Tainted: [O]=OOT_MODULE, [E]=UNSIGNED_MODULE Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS RIP: 0010:sized_strscpy+0x81/0x2f0 RSP: 0018:ffff88812d76fa08 EFLAGS: 00010246 RAX: 0000000000000000 RBX: ffffffffc0601010 RCX: dffffc0000000000 RDX: 0000000000000038 RSI: dffffc0000000000 RDI: ffff88812608da2d RBP: 8080808080808080 R08: ffff88812608da2d R09: ffff88812608da68 R10: ffff88812608d82d R11: ffff88812608d810 R12: 0000000000000038 R13: ffff88812608da2d R14: ffffffffc05d0218 R15: fefefefefefefeff FS: 00007fef552de740(0000) GS:ffff8884251c7000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: ffffffffc05d0218 CR3: 00000001146f0000 CR4: 00000000000006f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: <TASK> ftrace_mod_get_kallsym+0x1ac/0x590 update_iter_mod+0x239/0x5b0 s_next+0x5b/0xa0 seq_read_iter+0x8c9/0x1070 seq_read+0x249/0x3b0 proc_reg_read+0x1b0/0x280 vfs_read+0x17f/0x920 ksys_read+0xf3/0x1c0 do_syscall_64+0x5f/0x2e0 entry_SYSCALL_64_after_hwframe+0x76/0x7e The above issue may happen as follows: (1) Add kprobe tracepoint; (2) insmod test.ko; (3) Module triggers ftrace disabled; (4) rmmod test.ko; (5) cat /proc/kallsyms; --> Will trigger UAF as test.ko already removed; ftrace_mod_get_kallsym() ... strscpy(module_name, mod_map->mod->name, MODULE_NAME_LEN); ... The problem is when a module triggers an issue with ftrace and sets ftrace_disable. The ftrace_disable is set when an anomaly is discovered and to prevent any more damage, ftrace stops all text modification. The issue that happened was that the ftrace_disable stops more than just the text modification. When a module is loaded, its init functions can also be traced. Because kallsyms deletes the init functions after a module has loaded, ftrace saves them when the module is loaded and function tracing is enabled. This allows the output of the function trace to show the init function names instead of just their raw memory addresses. When a module is removed, ftrace_release_mod() is called, and if ftrace_disable is set, it just returns without doing anything more. The problem here is that it leaves the mod_list still around and if kallsyms is called, it will call into this code and access the module memory that has already been freed as it will return: strscpy(module_name, mod_map->mod->name, MODULE_NAME_LEN); Where the "mod" no longer exists and triggers a UAF bug.
Who exploits it and how urgent it is
A 0–100 score combining confirmed exploitation, ransomware and APT use, public exploits, EPSS and severity.
How the score was calculated
- EPSS 0.2% (30-day exploitation probability)+1
- Technical severity (high)+6
The score orders the patch queue; it does not replace your asset context (internet exposure, criticality, compensating controls).
Triage
Is it exploited, how likely is exploitation, what does it touch, and how severe do the sources call it.
CISA SSVC assessment CISA
Three decision points CISA publishes for the CVEs it assesses (SSVC 2.0.3). A stakeholder decision, not a severity score.
Remediation
Fixes and mitigations documented by the sources — linked to the original advisory.
- Documented patch — git.kernel.org (NIST National Vulnerability Database)
- Documented patch — git.kernel.org (NIST National Vulnerability Database)
- Documented patch — git.kernel.org (NIST National Vulnerability Database)
- Documented patch — git.kernel.org (NIST National Vulnerability Database)
- Documented patch — git.kernel.org (NIST National Vulnerability Database)
- Documented patch — git.kernel.org (NIST National Vulnerability Database)
- Documented patch — git.kernel.org (NIST National Vulnerability Database)
- Documented patch — git.kernel.org (NIST National Vulnerability Database)
First 24 hours
Ordered from the record’s own fields — exposure first, because you cannot patch what you have not found. A rule-generated starting point.
- Identify exposed assets running the affected vendor/product/version combinations (Debian Debian Linux, Linux Linux, Linux Linux Kernel).
- Apply the fixed version or the patch documented under Remediation.
- Search available logs for exploit probes matching the vulnerability class (memory corruption), errors and authentication anomalies.
Affected scope
Vendor, product and versions as the sources word them.
| Vendor | Product | Versions | Status | Source |
|---|---|---|---|---|
| Debian | Debian Linux | version 11.0 | Vulnerable | NIST National Vulnerability Database |
| Linux | Linux |
≥ aba4b5c22cbac296f4081a0476d0c55828f135b4 and < d064c68781c19f378af1ae741d9132d35d24b2bbversion 4.15≥ aba4b5c22cbac296f4081a0476d0c55828f135b4 and < f914b52c379c12288b7623bb814d0508dbe7481d≥ aba4b5c22cbac296f4081a0476d0c55828f135b4 and < f78a786ad9a5443a29eef4dae60cde85b7375129≥ aba4b5c22cbac296f4081a0476d0c55828f135b4 and < 8e89c17dc8970c5f71a3a991f5724d4c8de42d8c≥ aba4b5c22cbac296f4081a0476d0c55828f135b4 and < 83a692a9792aa86249d68a8ac0b9d55ecdd255fa≥ aba4b5c22cbac296f4081a0476d0c55828f135b4 and < 03a162933c4a03b9f1a84f7d8482903c7e1e11bb≥ aba4b5c22cbac296f4081a0476d0c55828f135b4 and < 6805582abb720681dd1c87ff677f155dcf4e86c9 and 1 more≥ aba4b5c22cbac296f4081a0476d0c55828f135b4 and < 8690cd3258455bbae64f809e1d3ee0f043661c71 |
Vulnerable | CVE Program (cve.org) e CISA ADP |
| Linux | Linux Kernel | ≥ 6.13 and < 6.15.4≥ 6.7 and < 6.12.35≥ 6.2 and < 6.6.95≥ 5.16 and < 6.1.142≥ 5.11 and < 5.15.186≥ 5.5 and < 5.10.239≥ 4.15 and < 5.4.295 | Vulnerable | NIST National Vulnerability Database |
Attack characteristics
The CVSS vector, decoded. It describes the attack, not your exposure to it.
Every base score collected
Sources score independently and may disagree; each row says who scored it and under which version.
| Score | Version | Severity | Expl. | Impact | Scored by |
|---|---|---|---|---|---|
| 7.8 | CVSS 3.1 | High | 1.8 | 5.9 | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 via NIST National Vulnerability Database |
| 7.8 | CVSS 3.1 | High | 1.8 | 5.9 | nvd@nist.gov via NIST National Vulnerability Database |
| 7.8 | CVSS 3.1 | High | — | — | GitHub, Inc. via GitHub Security Advisories |
| 7.8 | CVSS 3.1 | High | — | — | Linux via CVE Program (cve.org) e CISA ADP |
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H (score shown at the top: nvd@nist.gov) Weakness MITRE
Weakness class according to MITRE’s CWE catalog.
Detection
Read off the CVSS vector and the weakness class. Starting points, not tested rules.
- Local/physical vector: focus on endpoint telemetry (EDR) from affected hosts.
- Correlate service crashes/restarts with inbound traffic; repeated crashes may indicate attempts.
Timeline
What happened to this CVE, newest first.
- 2026
- Affected products added · linux/linux
- SSVC assessment updated
- Record published
- Fix documented
- Affected products added · linux/linux kernel, debian/debian linux
- CVSS changed · 7.8
- Source status changed · → Modified
- Record created in this database
- 2025
- CVE published
Source activity
Repeated readings are counted rather than listed.
- 2× References added · Oct 15, 2026 – Oct 15, 2026
- 1× Official description updated · Oct 15, 2026 – Oct 15, 2026
References
12 on the record
- git.kernel.org/stable/c/f78a786ad9a5443a29eef4dae60cde85b7375129
- git.kernel.org/stable/c/03a162933c4a03b9f1a84f7d8482903c7e1e11bb
- git.kernel.org/stable/c/8690cd3258455bbae64f809e1d3ee0f043661c71
- git.kernel.org/stable/c/d064c68781c19f378af1ae741d9132d35d24b2bb
- git.kernel.org/stable/c/8e89c17dc8970c5f71a3a991f5724d4c8de42d8c
- git.kernel.org/stable/c/f914b52c379c12288b7623bb814d0508dbe7481d
- git.kernel.org/stable/c/83a692a9792aa86249d68a8ac0b9d55ecdd255fa
- git.kernel.org/stable/c/6805582abb720681dd1c87ff677f155dcf4e86c9
- lists.debian.org/debian-lts-announce/2025/10/msg00007.html
- lists.debian.org/debian-lts-announce/2025/10/msg00008.html
- nvd.nist.gov/vuln/detail/CVE-2025-38346
- github.com/advisories/GHSA-r3fp-vvq4-x669
Elsewhere on this site
Related CVEs (same products)
- Critical CVE-2026-99999 ipv4: validate checksum_start before completing checksum 16h
- Unknown CVE-2026-98432 ipv4: free inet_opt and ireq_opt after an RCU grace period 16h
- Unknown CVE-2026-98431 RDMA/uverbs: Fix mmap_lock/disassociation_lock circular dependency 1d
- Unknown CVE-2026-98430 RDMA/efa: Keep admin queues alive while IRQ is registered 1d
- Unknown CVE-2026-98429 RDMA/efa: Keep EQ resources alive while IRQ is registered 1d
- Unknown CVE-2026-98428 ALSA: usb: 6fire: Avoid embedded URBs 1d
Not in any source we poll
Listed rather than left blank: an empty field and an unmeasured one look identical on screen, and only one is a reason to look elsewhere.
- No confirmed IOCs, IP addresses, domains, file hashes, or malware artifacts supplied.
- No organization-specific asset inventory, compensating-control status, or patch deployment evidence supplied.
- No exploit packet captures, log samples, or incident case IDs supplied.
Answered from this record
Text assembled only from the fields above — no additional claims.
What should defenders know first?
CVE-2025-38346 is "ftrace: Fix UAF when lookup kallsym after ftrace disabled", rated High. It affects Debian Linux (Debian); versions are in the scope table. It is not in CISA KEV, which does not rule out exploitation. CVSS 7.8 describes technical severity. EPSS 0.20% estimates the probability of exploitation in 30 days; neither replaces your asset context. First verify whether exposed or business-critical assets run the affected versions, apply vendor fixes or mitigations, and preserve logs for review.
Comments
Moderated technical discussion. Read the community guidelines.
No comments yet.
Sign in or create an account to comment and suggest corrections.