{"id":"CVE-2025-38639","state":"PUBLISHED","title":"netfilter: xt_nfacct: don't assume acct name is null-terminated","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nnetfilter: xt_nfacct: don't assume acct name is null-terminated\n\nBUG: KASAN: slab-out-of-bounds in .. lib/vsprintf.c:721\nRead of size 1 at addr ffff88801eac95c8 by task syz-executor183/5851\n[..]\n string+0x231/0x2b0 lib/vsprintf.c:721\n vsnprintf+0x739/0xf00 lib/vsprintf.c:2874\n [..]\n nfacct_mt_checkentry+0xd2/0xe0 net/netfilter/xt_nfacct.c:41\n xt_check_match+0x3d1/0xab0 net/netfilter/x_tables.c:523\n\nnfnl_acct_find_get() handles non-null input, but the error\nprintk relied on its presence.","publishedAt":"2025-08-22T16:00:45.953Z","updatedAt":"2026-10-15T22:02:27.055Z","severity":{"score":7.1,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H","source":"Linux"},"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"ceb98d03eac5704820f2ac1f370c9ff385e3a9f5","status":"affected","lessThan":"66d41268ede1e1b6e71ba28be923397ff0b2b9c3","versionType":"git"},{"version":"ceb98d03eac5704820f2ac1f370c9ff385e3a9f5","status":"affected","lessThan":"e021a1eee196887536a6630c5492c23a4c78d452","versionType":"git"},{"version":"ceb98d03eac5704820f2ac1f370c9ff385e3a9f5","status":"affected","lessThan":"b10cfa2de13d28ddd03210eb234422b7ec92725a","versionType":"git"},{"version":"ceb98d03eac5704820f2ac1f370c9ff385e3a9f5","status":"affected","lessThan":"e18939176e657a3a20bfbed357b8c55a9f82aba3","versionType":"git"},{"version":"ceb98d03eac5704820f2ac1f370c9ff385e3a9f5","status":"affected","lessThan":"58004aa21e79addaf41667bfe65e93ec51653f18","versionType":"git"},{"version":"ceb98d03eac5704820f2ac1f370c9ff385e3a9f5","status":"affected","lessThan":"7c1ae471da69c09242834e956218ea6a42dd405a","versionType":"git"},{"version":"ceb98d03eac5704820f2ac1f370c9ff385e3a9f5","status":"affected","lessThan":"58007fc7b94fb2702000045ff401eb7f5bde7828","versionType":"git"},{"version":"ceb98d03eac5704820f2ac1f370c9ff385e3a9f5","status":"affected","lessThan":"df13c9c6ce1d55c31d1bd49db65a7fbbd86aab13","versionType":"git"},{"version":"ceb98d03eac5704820f2ac1f370c9ff385e3a9f5","status":"affected","lessThan":"bf58e667af7d96c8eb9411f926a0a0955f41ce21","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/netfilter/xt_nfacct.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"3.3","status":"affected"},{"version":"0","status":"unaffected","lessThan":"3.3","versionType":"semver"},{"version":"5.4.297","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.241","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.190","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.148","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.102","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.42","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.15.10","status":"unaffected","lessThanOrEqual":"6.15.*","versionType":"semver"},{"version":"6.16.1","status":"unaffected","lessThanOrEqual":"6.16.*","versionType":"semver"},{"version":"6.17","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/netfilter/xt_nfacct.c"]}],"references":["https://git.kernel.org/stable/c/66d41268ede1e1b6e71ba28be923397ff0b2b9c3","https://git.kernel.org/stable/c/e021a1eee196887536a6630c5492c23a4c78d452","https://git.kernel.org/stable/c/b10cfa2de13d28ddd03210eb234422b7ec92725a","https://git.kernel.org/stable/c/e18939176e657a3a20bfbed357b8c55a9f82aba3","https://git.kernel.org/stable/c/58004aa21e79addaf41667bfe65e93ec51653f18","https://git.kernel.org/stable/c/7c1ae471da69c09242834e956218ea6a42dd405a","https://git.kernel.org/stable/c/58007fc7b94fb2702000045ff401eb7f5bde7828","https://git.kernel.org/stable/c/df13c9c6ce1d55c31d1bd49db65a7fbbd86aab13","https://git.kernel.org/stable/c/bf58e667af7d96c8eb9411f926a0a0955f41ce21","https://lists.debian.org/debian-lts-announce/2025/10/msg00008.html","https://lists.debian.org/debian-lts-announce/2025/10/msg00007.html"],"weaknesses":[],"ingestedAt":"2026-10-29T20:09:09.358Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2025/38xxx/CVE-2025-38639.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2025-38639","state":"PUBLISHED","datePublished":"2025-08-22T16:00:45.953Z","dateUpdated":"2026-10-15T22:02:27.055Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2025-04-16T04:51:24.030Z"},"containers":{"cna":{"title":"netfilter: xt_nfacct: don't assume acct name is null-terminated","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nnetfilter: xt_nfacct: don't assume acct name is null-terminated\n\nBUG: KASAN: slab-out-of-bounds in .. lib/vsprintf.c:721\nRead of size 1 at addr ffff88801eac95c8 by task syz-executor183/5851\n[..]\n string+0x231/0x2b0 lib/vsprintf.c:721\n vsnprintf+0x739/0xf00 lib/vsprintf.c:2874\n [..]\n nfacct_mt_checkentry+0xd2/0xe0 net/netfilter/xt_nfacct.c:41\n xt_check_match+0x3d1/0xab0 net/netfilter/x_tables.c:523\n\nnfnl_acct_find_get() handles non-null input, but the error\nprintk relied on its presence."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"ceb98d03eac5704820f2ac1f370c9ff385e3a9f5","status":"affected","lessThan":"66d41268ede1e1b6e71ba28be923397ff0b2b9c3","versionType":"git"},{"version":"ceb98d03eac5704820f2ac1f370c9ff385e3a9f5","status":"affected","lessThan":"e021a1eee196887536a6630c5492c23a4c78d452","versionType":"git"},{"version":"ceb98d03eac5704820f2ac1f370c9ff385e3a9f5","status":"affected","lessThan":"b10cfa2de13d28ddd03210eb234422b7ec92725a","versionType":"git"},{"version":"ceb98d03eac5704820f2ac1f370c9ff385e3a9f5","status":"affected","lessThan":"e18939176e657a3a20bfbed357b8c55a9f82aba3","versionType":"git"},{"version":"ceb98d03eac5704820f2ac1f370c9ff385e3a9f5","status":"affected","lessThan":"58004aa21e79addaf41667bfe65e93ec51653f18","versionType":"git"},{"version":"ceb98d03eac5704820f2ac1f370c9ff385e3a9f5","status":"affected","lessThan":"7c1ae471da69c09242834e956218ea6a42dd405a","versionType":"git"},{"version":"ceb98d03eac5704820f2ac1f370c9ff385e3a9f5","status":"affected","lessThan":"58007fc7b94fb2702000045ff401eb7f5bde7828","versionType":"git"},{"version":"ceb98d03eac5704820f2ac1f370c9ff385e3a9f5","status":"affected","lessThan":"df13c9c6ce1d55c31d1bd49db65a7fbbd86aab13","versionType":"git"},{"version":"ceb98d03eac5704820f2ac1f370c9ff385e3a9f5","status":"affected","lessThan":"bf58e667af7d96c8eb9411f926a0a0955f41ce21","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/netfilter/xt_nfacct.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"3.3","status":"affected"},{"version":"0","status":"unaffected","lessThan":"3.3","versionType":"semver"},{"version":"5.4.297","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.241","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.190","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.148","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.102","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.42","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.15.10","status":"unaffected","lessThanOrEqual":"6.15.*","versionType":"semver"},{"version":"6.16.1","status":"unaffected","lessThanOrEqual":"6.16.*","versionType":"semver"},{"version":"6.17","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/netfilter/xt_nfacct.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/66d41268ede1e1b6e71ba28be923397ff0b2b9c3"},{"url":"https://git.kernel.org/stable/c/e021a1eee196887536a6630c5492c23a4c78d452"},{"url":"https://git.kernel.org/stable/c/b10cfa2de13d28ddd03210eb234422b7ec92725a"},{"url":"https://git.kernel.org/stable/c/e18939176e657a3a20bfbed357b8c55a9f82aba3"},{"url":"https://git.kernel.org/stable/c/58004aa21e79addaf41667bfe65e93ec51653f18"},{"url":"https://git.kernel.org/stable/c/7c1ae471da69c09242834e956218ea6a42dd405a"},{"url":"https://git.kernel.org/stable/c/58007fc7b94fb2702000045ff401eb7f5bde7828"},{"url":"https://git.kernel.org/stable/c/df13c9c6ce1d55c31d1bd49db65a7fbbd86aab13"},{"url":"https://git.kernel.org/stable/c/bf58e667af7d96c8eb9411f926a0a0955f41ce21"}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H","baseScore":7.1,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:L - The vulnerable checkentry path is only reachable through local syscalls — `setsockopt(IPT_SO_SET_REPLACE)` on a raw socket, nfnetlink/nftables `nft_compat`, or tc `em_ipt` netlink. No remote peer data reaches this code.\nAC:L - Triggering is fully deterministic: submit one x_tables/nft rule with an `nfacct` match whose 32-byte name field contains no NUL byte and names a non-existent accounting object. There is no race, and the attacker also controls the size and cache placement of the surrounding allocation, so even the grooming step is under their control.\nPR:L - Every entry point checks only `ns_capable(net->user_ns, CAP_NET_ADMIN)` / `netlink_net_capable()`, which an unprivileged user obtains over their own network namespace with `unshare -Urn` — the syzbot reproducer runs exactly this way.\nUI:N - The attacker performs the entire sequence themselves in a single process; no victim action, mount, or other interaction is involved.\nS:U - The out-of-bounds read and the resulting disclosure and crash are confined to the kernel's own security authority; no VM, IOMMU, or hypervisor boundary is crossed.\nC:H - `string_nocheck()` runs with precision -1, so the read past the 32-byte name field is unbounded — it copies adjacent heap memory into the kernel log until it happens to hit a NUL, and the attacker chooses the slab cache and can groom the neighbouring objects to place sensitive data (kernel pointers, other objects' contents) in the leak window.\nI:N - The defect is purely a read: `%s` performs no out-of-bounds write and vsnprintf's destination buffer remains correctly bounded, so no kernel data is modified and no write primitive is produced.\nA:H - The unbounded walk runs off the end of the allocation — a KASAN slab-out-of-bounds report (fatal with `panic_on_warn`, as syzbot observed), or on the `kvmalloc`/vmalloc path a read straight into the guard page, producing an unmapped-address oops."}]}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-08-05T12:03:37.449Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.3","versionEndExcluding":"5.4.297"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.3","versionEndExcluding":"5.10.241"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.3","versionEndExcluding":"5.15.190"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.3","versionEndExcluding":"6.1.148"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.3","versionEndExcluding":"6.6.102"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.3","versionEndExcluding":"6.12.42"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.3","versionEndExcluding":"6.15.10"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.3","versionEndExcluding":"6.16.1"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.3","versionEndExcluding":"6.17"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CVE Program Container","references":[{"url":"https://lists.debian.org/debian-lts-announce/2025/10/msg00008.html"},{"url":"https://lists.debian.org/debian-lts-announce/2025/10/msg00007.html"}],"providerMetadata":{"shortName":"CVE","orgId":"af854a3a-2127-422b-91ae-364da2661108","dateUpdated":"2025-11-03T17:40:40.018Z"}},{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2025-38639","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2026-10-15T21:52:25.310432Z"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-10-15T22:02:27.055Z"}}]}}}