{"id":"CVE-2025-38180","state":"PUBLISHED","title":"net: atm: fix /proc/net/atm/lec handling","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet: atm: fix /proc/net/atm/lec handling\n\n/proc/net/atm/lec must ensure safety against dev_lec[] changes.\n\nIt appears it had dev_put() calls without prior dev_hold(),\nleading to imbalance and UAF.","publishedAt":"2025-07-04T13:37:08.258Z","updatedAt":"2026-08-05T12:00:10.648Z","severity":{"score":7.8,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","source":"Linux"},"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"1da177e4c3f41524e886b7f1b8a0c1fc7321cac2","status":"affected","lessThan":"fcfccf56f4eba7d00aa2d33c7bb1b33083237742","versionType":"git"},{"version":"1da177e4c3f41524e886b7f1b8a0c1fc7321cac2","status":"affected","lessThan":"f2d1443b18806640abdb530e88009af7be2588e7","versionType":"git"},{"version":"1da177e4c3f41524e886b7f1b8a0c1fc7321cac2","status":"affected","lessThan":"ca3829c18c8d0ceb656605d3bff6bb3dfb078589","versionType":"git"},{"version":"1da177e4c3f41524e886b7f1b8a0c1fc7321cac2","status":"affected","lessThan":"e612c4b014f5808fbc6beae21f5ccaca5e76a2f8","versionType":"git"},{"version":"1da177e4c3f41524e886b7f1b8a0c1fc7321cac2","status":"affected","lessThan":"a5e3a144268899f1a8c445c8a3bfa15873ba85e8","versionType":"git"},{"version":"1da177e4c3f41524e886b7f1b8a0c1fc7321cac2","status":"affected","lessThan":"5fe1b23a2f87f43aeeac51e08819cbc6fd808cbc","versionType":"git"},{"version":"1da177e4c3f41524e886b7f1b8a0c1fc7321cac2","status":"affected","lessThan":"9b9aeb3ada44d8abea1e31e4446113f460848ae4","versionType":"git"},{"version":"1da177e4c3f41524e886b7f1b8a0c1fc7321cac2","status":"affected","lessThan":"d03b79f459c7935cff830d98373474f440bd03ae","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/atm/lec.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"2.6.12","status":"affected"},{"version":"0","status":"unaffected","lessThan":"2.6.12","versionType":"semver"},{"version":"5.4.295","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.239","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.186","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.142","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.95","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.35","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.15.4","status":"unaffected","lessThanOrEqual":"6.15.*","versionType":"semver"},{"version":"6.16","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/atm/lec.c"]}],"references":["https://git.kernel.org/stable/c/fcfccf56f4eba7d00aa2d33c7bb1b33083237742","https://git.kernel.org/stable/c/f2d1443b18806640abdb530e88009af7be2588e7","https://git.kernel.org/stable/c/ca3829c18c8d0ceb656605d3bff6bb3dfb078589","https://git.kernel.org/stable/c/e612c4b014f5808fbc6beae21f5ccaca5e76a2f8","https://git.kernel.org/stable/c/a5e3a144268899f1a8c445c8a3bfa15873ba85e8","https://git.kernel.org/stable/c/5fe1b23a2f87f43aeeac51e08819cbc6fd808cbc","https://git.kernel.org/stable/c/9b9aeb3ada44d8abea1e31e4446113f460848ae4","https://git.kernel.org/stable/c/d03b79f459c7935cff830d98373474f440bd03ae","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-38180.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2025-38180","state":"PUBLISHED","datePublished":"2025-07-04T13:37:08.258Z","dateUpdated":"2026-08-05T12:00:10.648Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2025-04-16T04:51:23.992Z"},"containers":{"cna":{"title":"net: atm: fix /proc/net/atm/lec handling","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet: atm: fix /proc/net/atm/lec handling\n\n/proc/net/atm/lec must ensure safety against dev_lec[] changes.\n\nIt appears it had dev_put() calls without prior dev_hold(),\nleading to imbalance and UAF."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"1da177e4c3f41524e886b7f1b8a0c1fc7321cac2","status":"affected","lessThan":"fcfccf56f4eba7d00aa2d33c7bb1b33083237742","versionType":"git"},{"version":"1da177e4c3f41524e886b7f1b8a0c1fc7321cac2","status":"affected","lessThan":"f2d1443b18806640abdb530e88009af7be2588e7","versionType":"git"},{"version":"1da177e4c3f41524e886b7f1b8a0c1fc7321cac2","status":"affected","lessThan":"ca3829c18c8d0ceb656605d3bff6bb3dfb078589","versionType":"git"},{"version":"1da177e4c3f41524e886b7f1b8a0c1fc7321cac2","status":"affected","lessThan":"e612c4b014f5808fbc6beae21f5ccaca5e76a2f8","versionType":"git"},{"version":"1da177e4c3f41524e886b7f1b8a0c1fc7321cac2","status":"affected","lessThan":"a5e3a144268899f1a8c445c8a3bfa15873ba85e8","versionType":"git"},{"version":"1da177e4c3f41524e886b7f1b8a0c1fc7321cac2","status":"affected","lessThan":"5fe1b23a2f87f43aeeac51e08819cbc6fd808cbc","versionType":"git"},{"version":"1da177e4c3f41524e886b7f1b8a0c1fc7321cac2","status":"affected","lessThan":"9b9aeb3ada44d8abea1e31e4446113f460848ae4","versionType":"git"},{"version":"1da177e4c3f41524e886b7f1b8a0c1fc7321cac2","status":"affected","lessThan":"d03b79f459c7935cff830d98373474f440bd03ae","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/atm/lec.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"2.6.12","status":"affected"},{"version":"0","status":"unaffected","lessThan":"2.6.12","versionType":"semver"},{"version":"5.4.295","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.239","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.186","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.142","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.95","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.35","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.15.4","status":"unaffected","lessThanOrEqual":"6.15.*","versionType":"semver"},{"version":"6.16","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/atm/lec.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/fcfccf56f4eba7d00aa2d33c7bb1b33083237742"},{"url":"https://git.kernel.org/stable/c/f2d1443b18806640abdb530e88009af7be2588e7"},{"url":"https://git.kernel.org/stable/c/ca3829c18c8d0ceb656605d3bff6bb3dfb078589"},{"url":"https://git.kernel.org/stable/c/e612c4b014f5808fbc6beae21f5ccaca5e76a2f8"},{"url":"https://git.kernel.org/stable/c/a5e3a144268899f1a8c445c8a3bfa15873ba85e8"},{"url":"https://git.kernel.org/stable/c/5fe1b23a2f87f43aeeac51e08819cbc6fd808cbc"},{"url":"https://git.kernel.org/stable/c/9b9aeb3ada44d8abea1e31e4446113f460848ae4"},{"url":"https://git.kernel.org/stable/c/d03b79f459c7935cff830d98373474f440bd03ae"}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","baseScore":7.8,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:L - The vulnerability is triggered by reading the local procfs file /proc/net/atm/lec; no network protocol data reaches the defective code. Exploitation requires a local account or any local code execution context on the host network namespace.\nAC:L - The unbalanced dev_put() fires deterministically on every read() of the file — no race must be won, and the attacker controls how many times to repeat it to drive the net_device refcount arbitrarily negative. The secondary dev_lec[] race is also attacker-paced via a tight read loop.\nPR:L - /proc/net/atm/lec is created with mode 0444, so any unprivileged local user can read it with no capability check on the path; the lec module itself is autoloadable by an unprivileged user via request_module(\"lec\") in do_vcc_ioctl() before any capable() test. CAP_NET_ADMIN is only needed to configure the LANE interface, which is a property of the target deployment rather than of the attacker.\nUI:N - The attacker triggers the defect entirely on their own by reading the procfs file; no victim action or cooperation of any kind is needed.\nS:U - The corrupted net_device object and the resulting memory corruption stay within the kernel's own security authority. No VM, IOMMU, or sandbox boundary is crossed.\nC:H - The refcount underflow lets a live net_device be freed while still referenced, and the missing lec_mutex allows the seq_show path to dereference a freed device; a UAF on a large kmalloc'd object gives the attacker control over the reclaimed contents and a kernel-memory read primitive.\nI:H - Premature free of an in-use net_device is a use-after-free on a structure dense with function pointers and list heads, sprayable for arbitrary write and control-flow hijack leading to privilege escalation.\nA:H - Driving the reference count below one reaches BUG_ON(netdev_refcnt_read(dev) != 1) in netdev_run_todo(), and use of the freed device oopses the kernel; either outcome is a full system crash reachable by an unprivileged loop."}]}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-08-05T12:00:10.648Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.12","versionEndExcluding":"5.4.295"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.12","versionEndExcluding":"5.10.239"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.12","versionEndExcluding":"5.15.186"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.12","versionEndExcluding":"6.1.142"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.12","versionEndExcluding":"6.6.95"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.12","versionEndExcluding":"6.12.35"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.12","versionEndExcluding":"6.15.4"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.12","versionEndExcluding":"6.16"}]}]}],"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:35:04.821Z"}},{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2025-38180","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"version":"2.0.3","timestamp":"2026-06-10T20:41:57.337618Z"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-06-11T18:44:17.953Z"}}]}}}