CVE-2023-53836

HIGHPre-NVD 7.87.8
EchelonGraph scoreMEDIUM confidence

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

Triggered by: GitHub Security Advisory CVSS
Sources: cna:linux, epss, ghsa
Trending — 4 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

No vendor fix yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for a patch.

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

bpf, sockmap: Fix skb refcnt race after locking changes

There is a race where skb's from the sk_psock_backlog can be referenced after userspace side has already skb_consumed() the sk_buff and its refcnt dropped to zer0 causing use after free.

The flow is the following:

while ((skb = skb_peek(&psock->ingress_skb)) sk_psock_handle_Skb(psock, skb, ..., ingress) if (!ingress) ... sk_psock_skb_ingress sk_psock_skb_ingress_enqueue(skb) msg->skb = skb sk_psock_queue_msg(psock, msg) skb_dequeue(&psock->ingress_skb)

The sk_psock_queue_msg() puts the msg on the ingress_msg queue. This is what the application reads when recvmsg() is called. An application can read this anytime after the msg is placed on the queue. The recvmsg hook will also read msg->skb and then after user space reads the msg will call consume_skb(skb) on it effectively free'ing it.

But, the race is in above where backlog queue still has a reference to the skb and calls skb_dequeue(). If the skb_dequeue happens after the user reads and free's the skb we have a use after free.

The !ingress case does not suffer from this problem because it uses sendmsg_*(sk, msg) which does not pass the sk_buff further down the stack.

The following splat was observed with 'test_progs -t sockmap_listen':

[ 1022.710250][ T2556] general protection fault, ... [...] [ 1022.712830][ T2556] Workqueue: events sk_psock_backlog [ 1022.713262][ T2556] RIP: 0010:skb_dequeue+0x4c/0x80 [ 1022.713653][ T2556] Code: ... [...] [ 1022.720699][ T2556] Call Trace: [ 1022.720984][ T2556] [ 1022.721254][ T2556] ? die_addr+0x32/0x80^M [ 1022.721589][ T2556] ? exc_general_protection+0x25a/0x4b0 [ 1022.722026][ T2556] ? asm_exc_general_protection+0x22/0x30 [ 1022.722489][ T2556] ? skb_dequeue+0x4c/0x80 [ 1022.722854][ T2556] sk_psock_backlog+0x27a/0x300 [ 1022.723243][ T2556] process_one_work+0x2a7/0x5b0 [ 1022.723633][ T2556] worker_thread+0x4f/0x3a0 [ 1022.723998][ T2556] ? __pfx_worker_thread+0x10/0x10 [ 1022.724386][ T2556] kthread+0xfd/0x130 [ 1022.724709][ T2556] ? __pfx_kthread+0x10/0x10 [ 1022.725066][ T2556] ret_from_fork+0x2d/0x50 [ 1022.725409][ T2556] ? __pfx_kthread+0x10/0x10 [ 1022.725799][ T2556] ret_from_fork_asm+0x1b/0x30 [ 1022.726201][ T2556]

To fix we add an skb_get() before passing the skb to be enqueued in the engress queue. This bumps the skb->users refcnt so that consume_skb() and kfree_skb will not immediately free the sk_buff. With this we can be sure the skb is still around when we do the dequeue. Then we just need to decrement the refcnt or free the skb in the backlog case which we do by calling kfree_skb() on the ingress case as well as the sendmsg case.

Before locking change from fixes tag we had the sock locked so we couldn't race with user and there was no issue here.

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

Published

December 9, 2025

Last Modified

August 5, 2026

Advisory Details (4)

Auto-updated Aug 4, 2026
No patch confirmed yet.
generic

bpf, sockmap: Fix skb refcnt race after locking changes - kernel/git/stable/linux.git - Linux kernel stable tree

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

bpf, sockmap: Fix skb refcnt race after locking changes - kernel/git/stable/linux.git - Linux kernel stable tree

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

bpf, sockmap: Fix skb refcnt race after locking changes - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/923877254f002ae87d441382bb1096d9e773d56d
generic

bpf, sockmap: Fix skb refcnt race after locking changes - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/65ad600b9bde68d2d28709943ab00b51ca8f0a1d

Vendor Advisories for CVE-2023-53836(1)

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

Patch Availability(1)

Vendor / EcosystemFixed in / PatchReleasedSource
linuxKernel @ 5.15.189osv

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.

Data Freshness Timeline

(refreshed 15× in last 7d / 48× 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 134 total refreshes for this CVE.

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

Frequently asked(5)

What is CVE-2023-53836?
CVE-2023-53836 is a high vulnerability published on December 9, 2025. In the Linux kernel, the following vulnerability has been resolved: bpf, sockmap: Fix skb refcnt race after locking changes There is a race where skb's from the skpsockbacklog can be referenced after userspace side has already skbconsumed() the skbuff and its refcnt dropped to zer0 causing use…
When was CVE-2023-53836 disclosed?
CVE-2023-53836 was first published in the National Vulnerability Database on December 9, 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-2023-53836 actively exploited?
CVE-2023-53836 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 93.5% of all scored CVEs.
What is the CVSS score of CVE-2023-53836?
CVE-2023-53836 has a CVSS v4.0 base score of 7.8 (CNA self-assessment; NVD's own analysis pending).
How do I remediate CVE-2023-53836?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2023-53836, 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-2023-53836

Explore →

Is Your Infrastructure Affected by CVE-2023-53836?

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