CVE-2026-43503

HIGHPre-NVD 8.88.8
EchelonGraph scoreMEDIUM confidence

Score 8.8 from GitHub Security Advisory (severity: HIGH) published 2026-05-26. a secondary CVSS source baseline 8.8; sources differ by 0.0.

Triggered by: GitHub Security Advisory CVSS
Sources: epss, ghsa, secondary
Trending — 4 sources updated this weekElevated
8.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: 8.8Exploit: Elevated riskExposed: 0

A fix is available — apply it.

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

net: skbuff: propagate shared-frag marker through frag-transfer helpers

Two frag-transfer helpers (__pskb_copy_fclone() and skb_shift()) fail to propagate the SKBFL_SHARED_FRAG bit in skb_shinfo()->flags when moving frags from source to destination. __pskb_copy_fclone() defers the rest of the shinfo metadata to skb_copy_header() after copying frag descriptors, but that helper only carries over gso_{size,segs, type} and never touches skb_shinfo()->flags; skb_shift() moves frag descriptors directly and leaves flags untouched. As a result, the destination skb keeps a reference to the same externally-owned or page-cache-backed pages while reporting skb_has_shared_frag() as false.

The mismatch is harmful in any in-place writer that uses skb_has_shared_frag() to decide whether shared pages must be detoured through skb_cow_data(). ESP input is one such writer (esp4.c, esp6.c), and a single nft 'dup to ' rule -- or any other nf_dup_ipv4() / xt_TEE caller -- is enough to land a pskb_copy()'d skb in esp_input() with the marker stripped, letting an unprivileged user write into the page cache of a root-owned read-only file via authencesn-ESN stray writes.

Set SKBFL_SHARED_FRAG on the destination whenever frag descriptors were actually moved from the source. skb_copy() and skb_copy_expand() share skb_copy_header() too but linearize all paged data into freshly allocated head storage and emerge with nr_frags == 0, so skb_has_shared_frag() returns false on its own; they need no change.

The same omission exists in skb_gro_receive() and skb_gro_receive_list(). The former moves the incoming skb's frag descriptors into the accumulator's last sub-skb via two paths (a direct frag-move loop and the head_frag + memcpy path); the latter chains the incoming skb whole onto p's frag_list. Downstream skb_segment() reads only skb_shinfo(p)->flags, and skb_segment_list() reuses each sub-skb's shinfo as the nskb -- both p and lp must carry the marker.

The same omission also exists in tcp_clone_payload(), which builds an MTU probe skb by moving frag descriptors from skbs on sk_write_queue into a freshly allocated nskb. The helper falls into the same family and warrants the same fix for consistency; no TCP TX-side in-place writer is currently known to reach a user page through this gap, but a future consumer depending on the marker would regress silently.

The same omission exists in skb_segment(): the per-iteration flag merge takes only head_skb's flag, and the inner switch that rebinds frag_skb to list_skb on head_skb-frags exhaustion does not fold the new frag_skb's flag into nskb. Fold frag_skb's flag at both sites so segments drawing frags from frag_list members carry the marker.

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

Published

May 23, 2026

Last Modified

July 23, 2026

Advisory Details (8)

Auto-updated Jun 2, 2026
No patch confirmed yet.
generic

net: skbuff: propagate shared-frag marker through frag-transfer helpers - kernel/git/stable/linux.git - Linux kernel stable tree

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

net: skbuff: propagate shared-frag marker through frag-transfer helpers - kernel/git/stable/linux.git - Linux kernel stable tree

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

net: skbuff: propagate shared-frag marker through frag-transfer helpers - kernel/git/stable/linux.git - Linux kernel stable tree

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

net: skbuff: propagate shared-frag marker through frag-transfer helpers - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/9bc9d6d6967a2239aa57af2aa53554eddd640d20
generic

net: skbuff: propagate shared-frag marker through frag-transfer helpers - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/989214c66884d70716d83dc1d0bf5e16287bf349
generic

net: skbuff: propagate shared-frag marker through frag-transfer helpers - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/48f6a5356a33dd78e7144ae1faef95ffc990aae0
generic

net: skbuff: propagate shared-frag marker through frag-transfer helpers - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/179f1852bdedc300e373e807cc102cd81feff196
generic

net: skbuff: propagate shared-frag marker through frag-transfer helpers - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/12401fcfb01f53ccc63ab0a3246570fe8f3105ee

Patch Availability(27)

Vendor / EcosystemFixed in / PatchReleasedSource
redhatkernel-0:6.12.0-231.12.el10nv2026-06-30redhat
redhatrhcos-416.94.202606051757-02026-06-18redhat
redhatrhcos-415.92.202606030318-02026-06-11redhat
redhatrhcos-4.21.9.6.202606030721-02026-06-11redhat
redhatrhcos-4.19.9.6.202606031700-02026-06-10redhat
redhatkpatch-patch2026-06-09redhat
redhatrhcos-413.92.202605271328-02026-06-04redhat
redhatrhcos-412.86.202605271418-02026-06-04redhat
redhatrhcos-418.94.202605260517-02026-06-03redhat
redhatrhcos-4.20.9.6.202605270908-02026-06-03redhat
redhatrhcos-416.94.202605200242-02026-05-29redhat
redhatkernel-0:5.14.0-284.172.1.el9_22026-05-26redhat
redhatkernel-0:5.14.0-427.126.1.el9_42026-05-21redhat
redhatkernel-0:4.18.0-372.193.1.el8_62026-05-21redhat
redhatkernel-0:5.14.0-570.116.1.el9_62026-05-21redhat
redhatkernel-0:6.12.0-55.75.1.el10_02026-05-21redhat
redhatkernel-0:4.18.0-305.192.1.el8_42026-05-21redhat
redhatkernel-0:4.18.0-477.143.1.el8_82026-05-20redhat
redhatkernel-0:6.12.0-211.8.el10nv2026-05-20redhat
redhatkernel-0:5.14.0-687.10.1.el9_82026-05-20redhat
redhatkernel-0:6.12.0-211.16.1.el10_22026-05-20redhat
redhatkernel-0:4.18.0-553.125.1.el8_102026-05-20redhat
redhatkernel-0:5.14.0-70.180.1.el9_02026-05-20redhat
redhatkernel-rt-0:5.14.0-70.180.1.rt21.252.el9_02026-05-20redhat
redhatkernel-rt-0:5.14.0-284.172.1.rt14.457.el9_22026-05-20redhat
redhatkernel-rt-0:4.18.0-553.125.1.rt7.466.el8_102026-05-20redhat
linuxKernel @ 5.10.257osv

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.

Additional Vendor Advisories

(17)

Data Freshness Timeline

(refreshed 12× in last 7d / 41× 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 161 total refreshes for this CVE.

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

Publicly available exploits

(6 references)

Working exploit code is in the public domain (6 GitHub PoCs). Defenders should treat patch urgency accordingly — public PoCs typically lead to mass-exploitation within 24-72 hours.

  • GitHub PoCentra1337/DirtyClone
    First seen Jun 29, 2026

    Python Proof of Concept for DirtyClone (CVE-2026-43503) - Linux kernel LPE via page-cache corruption

    Open source ↗
  • GitHub PoCgl1tch0x1/DirtyClone
    First seen Jun 28, 2026

    DirtyClone - local privilege escalation (LPE) proof-of-concept targeting a kernel/XFRM-related vulnerability described in the source as CVE-2026-43503

    Open source ↗
  • GitHub PoCdouglasmun/pagecache-lpe-containment-kit
    First seen Jun 27, 2026

    Educational, defensive kit for two Linux page-cache-corruption LPEs (DirtyClone CVE-2026-43503, pedit COW CVE-2026-46331): hardening, detection, verification, seccomp + validation harness. Detection and prevention only — no exploit code. TLP:CLEAR.

    Open source ↗
  • GitHub PoCmooder1/dirtyclone-CVE-2026-43503
    First seen Jun 26, 2026
    Open source ↗
  • GitHub PoCaexdyhaxor/CVE-2026-43503-DirtyClone
    First seen Jun 26, 2026
    Open source ↗
  • GitHub PoC0xBlackash/CVE-2026-43503
    First seen Jun 25, 2026

    CVE-2026-43503

    Open source ↗

Frequently asked(5)

What is CVE-2026-43503?
CVE-2026-43503 is a high vulnerability published on May 23, 2026. In the Linux kernel, the following vulnerability has been resolved: net: skbuff: propagate shared-frag marker through frag-transfer helpers Two frag-transfer helpers (pskbcopyfclone() and skb_shift()) fail to propagate the SKBFLSHAREDFRAG bit in skb_shinfo()->flags when moving frags from source to…
When was CVE-2026-43503 disclosed?
CVE-2026-43503 was first published in the National Vulnerability Database on May 23, 2026, with the most recent update on July 23, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2026-43503 actively exploited?
CVE-2026-43503 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 73.8% of all scored CVEs.
What is the CVSS score of CVE-2026-43503?
CVE-2026-43503 has a CVSS v3 base score of 8.8 (NVD).
How do I remediate CVE-2026-43503?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2026-43503, 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-2026-43503

Explore →

Is Your Infrastructure Affected by CVE-2026-43503?

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