CVE-2025-40123

HIGHPre-NVD 7.87.8
EchelonGraph scoreMEDIUM confidence

Score 7.8 from GitHub Security Advisory (severity: HIGH) published 2025-11-12. the CNA's CVSS baseline 7.8; sources differ by 0.0.

Triggered by: GitHub Security Advisory CVSS
Sources: cna:linux, epss, ghsa
Trending — 5 sources updated this week
7.8EG
EchelonGraph verdictPlan a fixSerious severity, but no confirmed exploitation yet.
  • High severity, but no confirmed exploitation yet
CISA-KEV: Not listedEPSS PROB: 0%CVSS: 7.8Exploit: None knownExposed: 0

A fix is available — apply it.

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

bpf: Enforce expected_attach_type for tailcall compatibility

Yinhao et al. recently reported:

Our fuzzer tool discovered an uninitialized pointer issue in the bpf_prog_test_run_xdp() function within the Linux kernel's BPF subsystem. This leads to a NULL pointer dereference when a BPF program attempts to deference the txq member of struct xdp_buff object.

The test initializes two programs of BPF_PROG_TYPE_XDP: progA acts as the entry point for bpf_prog_test_run_xdp() and its expected_attach_type can neither be of be BPF_XDP_DEVMAP nor BPF_XDP_CPUMAP. progA calls into a slot of a tailcall map it owns. progB's expected_attach_type must be BPF_XDP_DEVMAP to pass xdp_is_valid_access() validation. The program returns struct xdp_md's egress_ifindex, and the latter is only allowed to be accessed under mentioned expected_attach_type. progB is then inserted into the tailcall which progA calls.

The underlying issue goes beyond XDP though. Another example are programs of type BPF_PROG_TYPE_CGROUP_SOCK_ADDR. sock_addr_is_valid_access() as well as sock_addr_func_proto() have different logic depending on the programs' expected_attach_type. Similarly, a program attached to BPF_CGROUP_INET4_GETPEERNAME should not be allowed doing a tailcall into a program which calls bpf_bind() out of BPF which is only enabled for BPF_CGROUP_INET4_CONNECT.

In short, specifying expected_attach_type allows to open up additional functionality or restrictions beyond what the basic bpf_prog_type enables. The use of tailcalls must not violate these constraints. Fix it by enforcing expected_attach_type in __bpf_prog_map_compatible().

Note that we only enforce this for tailcall maps, but not for BPF devmaps or cpumaps: There, the programs are invoked through dev_map_bpf_prog_run*() and cpu_map_bpf_prog_run*() which set up a new environment / context and therefore these situations are not prone to this issue.

CVSS v3
7.8
EG Score
7.8(medium)
EG Risk
40(Track)
EG Risk 40/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
Severity78% × 45%
Exploitation0% × 40%
Automatability30% × 15%
Action: Routine — remediate on your standard cadence.
EPSS PROB
0%
EPSS %ILE
5%
KEV
Not listed

Published

November 12, 2025

Last Modified

August 5, 2026

Advisory Details (5)

Auto-updated Jul 30, 2026
No patch confirmed yet.
generic

bpf: Enforce expected_attach_type for tailcall compatibility - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/f856c598080ba7ce1252867b8ecd6ad5bdaf9a6a
generic

bpf: Enforce expected_attach_type for tailcall compatibility - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/c1ad19b5d8e23123503dcaf2d4342e1b90b923ad
generic

bpf: Enforce expected_attach_type for tailcall compatibility - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/a99de19128aec0913f3d529f529fbbff5edfaff8
generic

bpf: Enforce expected_attach_type for tailcall compatibility - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/4540aed51b12bc13364149bf95f6ecef013197c0
generic

bpf: Enforce expected_attach_type for tailcall compatibility - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/08cb3dc9d2b44f153d0bcf2cb966e4a94b5d0f32

Vendor Advisories for CVE-2025-40123(1)

These vendors published their own advisory mentioning this CVE — often with vendor-specific remediation steps + affected product lists not in NVD.

Patch Availability(16)

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.

All Vendor Advisories

(15)

Data Freshness Timeline

(refreshed 12× in last 7d / 45× 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.

Showing the most recent 100 of 136 total refreshes for this CVE.

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

Frequently asked(5)

What is CVE-2025-40123?
CVE-2025-40123 is a high vulnerability published on November 12, 2025. In the Linux kernel, the following vulnerability has been resolved: bpf: Enforce expectedattachtype for tailcall compatibility Yinhao et al. recently reported: Our fuzzer tool discovered an uninitialized pointer issue in the bpfprogtestrunxdp() function within the Linux kernel's BPF subsystem. This…
When was CVE-2025-40123 disclosed?
CVE-2025-40123 was first published in the National Vulnerability Database on November 12, 2025, with the most recent update on August 5, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2025-40123 actively exploited?
CVE-2025-40123 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.3% of all scored CVEs.
What is the CVSS score of CVE-2025-40123?
CVE-2025-40123 has a CVSS v4.0 base score of 7.8 (CNA self-assessment; NVD's own analysis pending).
How do I remediate CVE-2025-40123?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2025-40123, 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-40123

Explore →

Is Your Infrastructure Affected by CVE-2025-40123?

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