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
Elevated
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
27%
KEV
Not listed

Published

May 23, 2026

Last Modified

August 24, 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-412.86.202605271418-02026-06-04redhat
redhatrhcos-413.92.202605271328-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:4.18.0-305.192.1.el8_42026-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-372.193.1.el8_62026-05-21redhat
redhatkernel-0:5.14.0-427.126.1.el9_42026-05-21redhat
redhatkernel-0:6.12.0-211.8.el10nv2026-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
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-0:5.14.0-687.10.1.el9_82026-05-20redhat
redhatkernel-0:4.18.0-477.143.1.el8_82026-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.

Affected Packages

(5 across 4 ecosystems)
Debian:11(2)
PackageVulnerable rangeFixed inDependents
linux5.10.103-1 ... 5.10.92-2 (53 versions)5.10.257-1
linux-6.16.1.106-3~deb11u1 ... 6.1.172-1~deb11u1 (19 versions)6.1.174-1~deb11u1
Debian:12(1)
PackageVulnerable rangeFixed inDependents
linux6.1.106-1 ... 6.1.99-1 (52 versions)6.1.174-1
Debian:13(1)
PackageVulnerable rangeFixed inDependents
linux6.12.38-1 ... 6.12.90-1~bpo12+1 (23 versions)6.12.90-1
Debian:14(1)
PackageVulnerable rangeFixed inDependents
linux6.12.100-1 ... 7.0.9-1~bpo13+1 (138 versions)7.0.9-1

Weakness Classification(1)

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

Additional Vendor Advisories

(12)

Data Freshness Timeline

(refreshed 6× in last 7d / 40× 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 293 total refreshes for this CVE.

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

See which npm, PyPI, Go, and Maven packages are affected by 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.