CVE-2025-38517

MEDIUMNVD 5.55.5
EchelonGraph scoreMEDIUM confidence

Score 5.5 from GitHub Security Advisory published 2025-08-16. NVD baseline CVSS 5.5; sources differ by 0.0.

Triggered by: GitHub Security Advisory CVSS
Sources: epss, ghsa, nvd
5.5EG
EchelonGraph verdictMonitorLow exploitation likelihood right now — keep watching.
  • Lower severity and no public exploit yet
CISA-KEV: Not listedEPSS PROB: 0%CVSS: 5.5Exploit: None knownExposed: 0

A fix is available — apply it.

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

lib/alloc_tag: do not acquire non-existent lock in alloc_tag_top_users()

alloc_tag_top_users() attempts to lock alloc_tag_cttype->mod_lock even when the alloc_tag_cttype is not allocated because:

1) alloc tagging is disabled because mem profiling is disabled (!alloc_tag_cttype) 2) alloc tagging is enabled, but not yet initialized (!alloc_tag_cttype) 3) alloc tagging is enabled, but failed initialization (!alloc_tag_cttype or IS_ERR(alloc_tag_cttype))

In all cases, alloc_tag_cttype is not allocated, and therefore alloc_tag_top_users() should not attempt to acquire the semaphore.

This leads to a crash on memory allocation failure by attempting to acquire a non-existent semaphore:

Oops: general protection fault, probably for non-canonical address 0xdffffc000000001b: 0000 [#3] SMP KASAN NOPTI KASAN: null-ptr-deref in range [0x00000000000000d8-0x00000000000000df] CPU: 2 UID: 0 PID: 1 Comm: systemd Tainted: G D 6.16.0-rc2 #1 VOLUNTARY Tainted: [D]=DIE Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014 RIP: 0010:down_read_trylock+0xaa/0x3b0 Code: d0 7c 08 84 d2 0f 85 a0 02 00 00 8b 0d df 31 dd 04 85 c9 75 29 48 b8 00 00 00 00 00 fc ff df 48 8d 6b 68 48 89 ea 48 c1 ea 03 <80> 3c 02 00 0f 85 88 02 00 00 48 3b 5b 68 0f 85 53 01 00 00 65 ff RSP: 0000:ffff8881002ce9b8 EFLAGS: 00010016 RAX: dffffc0000000000 RBX: 0000000000000070 RCX: 0000000000000000 RDX: 000000000000001b RSI: 000000000000000a RDI: 0000000000000070 RBP: 00000000000000d8 R08: 0000000000000001 R09: ffffed107dde49d1 R10: ffff8883eef24e8b R11: ffff8881002cec20 R12: 1ffff11020059d37 R13: 00000000003fff7b R14: ffff8881002cec20 R15: dffffc0000000000 FS: 00007f963f21d940(0000) GS:ffff888458ca6000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f963f5edf71 CR3: 000000010672c000 CR4: 0000000000350ef0 Call Trace: codetag_trylock_module_list+0xd/0x20 alloc_tag_top_users+0x369/0x4b0 __show_mem+0x1cd/0x6e0 warn_alloc+0x2b1/0x390 __alloc_frozen_pages_noprof+0x12b9/0x21a0 alloc_pages_mpol+0x135/0x3e0 alloc_slab_page+0x82/0xe0 new_slab+0x212/0x240 ___slab_alloc+0x82a/0xe00

As David Wang points out, this issue became easier to trigger after commit 780138b12381 ("alloc_tag: check mem_profiling_support in alloc_tag_init").

Before the commit, the issue occurred only when it failed to allocate and initialize alloc_tag_cttype or if a memory allocation fails before alloc_tag_init() is called. After the commit, it can be easily triggered when memory profiling is compiled but disabled at boot.

To properly determine whether alloc_tag_init() has been called and its data structures initialized, verify that alloc_tag_cttype is a valid pointer before acquiring the semaphore. If the variable is NULL or an error value, it has not been properly initialized. In such a case, just skip and do not attempt to acquire the semaphore.

[harry.yoo@oracle.com: v3]

CVSS v3
5.5
EG Score
5.5(medium)
EG Risk
29(Track)
EG Risk 29/100SSVC: Track

EG Risk is EchelonGraph's 0–100 priority score: it fuses intrinsic severity with real-world exploitation and automatability so you can rank equal-severity CVEs and fix the most dangerous first. Higher = act sooner. Distinct from the 0–10 EG Score (severity).

How it’s computed
Severity55% × 45%
Exploitation0% × 40%
Automatability30% × 15%
Action: Routine — remediate on your standard cadence.
EPSS PROB
0%
EPSS %ILE
4%
KEV
Not listed

Published

August 16, 2025

Last Modified

November 18, 2025

Patch Availability(7)

Patches are aggregated from vendor advisories (Red Hat, Microsoft, Cisco, GitHub) and package ecosystems (OSV, GHSA). Multiple rows for the same upstream release have been deduplicated.

Weakness Classification(1)

MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.

All Vendor Advisories

(6)

Data Freshness Timeline

(refreshed 7× in last 7d / 39× in last 30d)

Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.

  1. 2026-07-30 01:29 UTCEPSS rescore
  2. 2026-07-28 15:35 UTCEPSS rescore
  3. 2026-07-26 14:54 UTCEPSS rescore
  4. 2026-07-25 14:17 UTCEPSS rescore
  5. 2026-07-25 14:17 UTCEPSS rescore
  6. 2026-07-24 14:17 UTCEPSS rescore
  7. 2026-07-23 22:11 UTCOSV refresh
  8. 2026-07-23 02:54 UTCEG score recompute
  9. 2026-07-22 14:07 UTCEPSS rescore
  10. 2026-07-22 14:07 UTCEPSS rescore
  11. 2026-07-21 15:24 UTCEPSS rescore
  12. 2026-07-20 17:07 UTCEPSS rescore
  13. 2026-07-19 14:30 UTCEPSS rescore
  14. 2026-07-19 14:30 UTCEPSS rescore
  15. 2026-07-19 02:28 UTCEPSS rescore
  16. 2026-07-19 02:28 UTCEPSS rescore
  17. 2026-07-18 10:04 UTCEPSS rescore
  18. 2026-07-18 10:04 UTCEPSS rescore
  19. 2026-07-16 17:02 UTCEPSS rescore
  20. 2026-07-15 16:57 UTCEPSS rescore
  21. 2026-07-15 16:57 UTCEPSS rescore
  22. 2026-07-15 01:59 UTCEPSS rescore
  23. 2026-07-15 01:59 UTCEPSS rescore
  24. 2026-07-13 22:29 UTCEPSS rescore
  25. 2026-07-13 22:29 UTCEPSS rescore
Show 69 more
  1. 2026-07-13 06:12 UTCEPSS rescore
  2. 2026-07-11 08:27 UTCEPSS rescore
  3. 2026-07-11 08:27 UTCEPSS rescore
  4. 2026-07-09 19:09 UTCEPSS rescore
  5. 2026-07-09 19:09 UTCEPSS rescore
  6. 2026-07-07 13:45 UTCEPSS rescore
  7. 2026-07-06 16:51 UTCOSV refresh
  8. 2026-07-06 16:27 UTCEPSS rescore
  9. 2026-07-06 16:27 UTCEPSS rescore
  10. 2026-07-06 02:23 UTCEPSS rescore
  11. 2026-07-05 02:30 UTCEPSS rescore
  12. 2026-07-04 06:30 UTCEPSS rescore
  13. 2026-07-01 15:06 UTCEPSS rescore
  14. 2026-07-01 15:06 UTCEPSS rescore
  15. 2026-06-29 14:06 UTCEPSS rescore
  16. 2026-06-29 14:06 UTCEPSS rescore
  17. 2026-06-28 14:07 UTCEPSS rescore
  18. 2026-06-28 14:07 UTCEPSS rescore
  19. 2026-06-28 04:55 UTCEPSS rescore
  20. 2026-06-28 04:55 UTCEPSS rescore
  21. 2026-06-27 03:08 UTCEPSS rescore
  22. 2026-06-27 03:08 UTCEPSS rescore
  23. 2026-06-25 13:49 UTCEPSS rescore
  24. 2026-06-25 13:49 UTCEPSS rescore
  25. 2026-06-24 14:04 UTCEPSS rescore
  26. 2026-06-24 14:04 UTCEPSS rescore
  27. 2026-06-23 21:32 UTCEPSS rescore
  28. 2026-06-23 21:32 UTCEPSS rescore
  29. 2026-06-22 14:25 UTCEPSS rescore
  30. 2026-06-22 14:25 UTCEPSS rescore
  31. 2026-06-21 14:56 UTCEPSS rescore
  32. 2026-06-21 14:56 UTCEPSS rescore
  33. 2026-06-21 01:59 UTCEPSS rescore
  34. 2026-06-21 01:59 UTCEPSS rescore
  35. 2026-06-19 19:25 UTCEPSS rescore
  36. 2026-06-19 19:25 UTCEPSS rescore
  37. 2026-06-18 17:52 UTCEPSS rescore
  38. 2026-06-18 17:52 UTCEPSS rescore
  39. 2026-06-18 05:05 UTCOSV refresh
  40. 2026-06-17 17:52 UTCEPSS rescore
  41. 2026-06-16 17:52 UTCEPSS rescore
  42. 2026-06-16 17:52 UTCEPSS rescore
  43. 2026-06-14 23:17 UTCEPSS rescore
  44. 2026-06-13 23:00 UTCEPSS rescore
  45. 2026-06-12 23:11 UTCEPSS rescore
  46. 2026-06-11 14:00 UTCEPSS rescore
  47. 2026-06-10 22:18 UTCEPSS rescore
  48. 2026-06-10 13:22 UTCEPSS rescore
  49. 2026-06-08 14:16 UTCEPSS rescore
  50. 2026-06-08 14:16 UTCEPSS rescore
  51. 2026-06-07 15:24 UTCEPSS rescore
  52. 2026-06-06 13:47 UTCEPSS rescore
  53. 2026-06-06 13:47 UTCEPSS rescore
  54. 2026-06-05 22:46 UTCEPSS rescore
  55. 2026-06-05 22:46 UTCEPSS rescore
  56. 2026-06-05 06:10 UTCEPSS rescore
  57. 2026-06-05 06:10 UTCEPSS rescore
  58. 2026-06-04 13:12 UTCEPSS rescore
  59. 2026-06-04 13:12 UTCEPSS rescore
  60. 2026-06-02 20:12 UTCEPSS rescore
  61. 2026-06-01 13:51 UTCEPSS rescore
  62. 2026-06-01 13:51 UTCEPSS rescore
  63. 2026-05-31 22:30 UTCEPSS rescore
  64. 2026-05-31 22:30 UTCEPSS rescore
  65. 2026-05-31 00:16 UTCEPSS rescore
  66. 2026-05-30 00:20 UTCEG score recompute
  67. 2026-05-30 00:20 UTCVendor advisory
  68. 2026-05-30 00:20 UTCGHSA enrichment
  69. 2026-05-29 13:44 UTCEPSS rescore

Frequently asked(5)

What is CVE-2025-38517?
CVE-2025-38517 is a medium vulnerability published on August 16, 2025. In the Linux kernel, the following vulnerability has been resolved: lib/alloctag: do not acquire non-existent lock in alloctagtopusers() alloctagtopusers() attempts to lock alloctagcttype->modlock even when the alloctagcttype is not allocated because: 1) alloc tagging is disabled because mem…
When was CVE-2025-38517 disclosed?
CVE-2025-38517 was first published in the National Vulnerability Database on August 16, 2025, with the most recent update on November 18, 2025. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2025-38517 actively exploited?
CVE-2025-38517 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 0% probability of exploitation in the next 30 days, which ranks it in the top 95.9% of all scored CVEs.
What is the CVSS score of CVE-2025-38517?
CVE-2025-38517 has a CVSS v3 base score of 5.5 (NVD).
How do I remediate CVE-2025-38517?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2025-38517, EchelonGraph cross-links them in the Vendor Advisories panel below — those typically contain the canonical remediation steps, fixed version numbers, and any vendor-specific mitigations.

Dependency Blast Radius

Explore the affected products and dependency analysis for CVE-2025-38517

Explore →

Is Your Infrastructure Affected by CVE-2025-38517?

EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.