CVE-2026-23233

HIGHNVD 7.87.8
EchelonGraph scoreMEDIUM confidence

Score 7.8 from GitHub Security Advisory (severity: HIGH) published 2026-03-04. NVD baseline CVSS 7.8; sources differ by 0.0.

Triggered by: GitHub Security Advisory CVSS
Sources: epss, ghsa, nvd
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:

f2fs: fix to avoid mapping wrong physical block for swapfile

Xiaolong Guo reported a f2fs bug in bugzilla [1]

[1] https://bugzilla.kernel.org/show_bug.cgi?id=220951

Quoted:

"When using stress-ng's swap stress test on F2FS filesystem with kernel 6.6+, the system experiences data corruption leading to either: 1 dm-verity corruption errors and device reboot 2 F2FS node corruption errors and boot hangs

The issue occurs specifically when: 1 Using F2FS filesystem (ext4 is unaffected) 2 Swapfile size is less than F2FS section size (2MB) 3 Swapfile has fragmented physical layout (multiple non-contiguous extents) 4 Kernel version is 6.6+ (6.1 is unaffected)

The root cause is in check_swap_activate() function in fs/f2fs/data.c. When the first extent of a small swapfile (< 2MB) is not aligned to section boundaries, the function incorrectly treats it as the last extent, failing to map subsequent extents. This results in incorrect swap_extent creation where only the first extent is mapped, causing subsequent swap writes to overwrite wrong physical locations (other files' data).

Steps to Reproduce 1 Setup a device with F2FS-formatted userdata partition 2 Compile stress-ng from https://github.com/ColinIanKing/stress-ng 3 Run swap stress test: (Android devices) adb shell "cd /data/stressng; ./stress-ng-64 --metrics-brief --timeout 60 --swap 0"

Log: 1 Ftrace shows in kernel 6.6, only first extent is mapped during second f2fs_map_blocks call in check_swap_activate(): stress-ng-swap-8990: f2fs_map_blocks: ino=11002, file offset=0, start blkaddr=0x43143, len=0x1 (Only 4KB mapped, not the full swapfile) 2 in kernel 6.1, both extents are correctly mapped: stress-ng-swap-5966: f2fs_map_blocks: ino=28011, file offset=0, start blkaddr=0x13cd4, len=0x1 stress-ng-swap-5966: f2fs_map_blocks: ino=28011, file offset=1, start blkaddr=0x60c84b, len=0xff

The problematic code is in check_swap_activate(): if ((pblock - SM_I(sbi)->main_blkaddr) % blks_per_sec || nr_pblocks % blks_per_sec || !f2fs_valid_pinned_area(sbi, pblock)) { bool last_extent = false;

not_aligned++;

nr_pblocks = roundup(nr_pblocks, blks_per_sec); if (cur_lblock + nr_pblocks > sis->max) nr_pblocks -= blks_per_sec;

/* this extent is last one */ if (!nr_pblocks) { nr_pblocks = last_lblock - cur_lblock; last_extent = true; }

ret = f2fs_migrate_blocks(inode, cur_lblock, nr_pblocks); if (ret) { if (ret == -ENOENT) ret = -EINVAL; goto out; }

if (!last_extent) goto retry; }

When the first extent is unaligned and roundup(nr_pblocks, blks_per_sec) exceeds sis->max, we subtract blks_per_sec resulting in nr_pblocks = 0. The code then incorrectly assumes this is the last extent, sets nr_pblocks = last_lblock - cur_lblock (entire swapfile), and performs migration. After migration, it doesn't retry mapping, so subsequent extents are never processed. "

In order to fix this issue, we need to lookup block mapping info after we migrate all blocks in the tail of swapfile.

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

Published

March 4, 2026

Last Modified

June 17, 2026

Advisory Details (5)

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

f2fs: fix to avoid mapping wrong physical block for swapfile - kernel/git/stable/linux.git - Linux kernel stable tree

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

f2fs: fix to avoid mapping wrong physical block for swapfile - kernel/git/stable/linux.git - Linux kernel stable tree

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

f2fs: fix to avoid mapping wrong physical block for swapfile - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/607cb9d83838d2cd9f0406c2403ed61aadf0edff
generic

f2fs: fix to avoid mapping wrong physical block for swapfile - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/5c145c03188bc9ba1c29e0bc4d527a5978fc47f9
generic

f2fs: fix to avoid mapping wrong physical block for swapfile - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/1ff415eef513bf12deb058fc50d57788c46c48e6

Vendor Advisories for CVE-2026-23233(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 @ 6.6.127osv

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

(2 across 2 ecosystems)
Debian:13(1)
PackageVulnerable rangeFixed inDependents
linux6.12.38-1 ... 6.12.74-2~bpo12+1 (15 versions)6.12.74-2
Debian:14(1)
PackageVulnerable rangeFixed inDependents
linux6.12.100-1 ... 6.18~rc7-1~exp1 (102 versions)6.18.13-1

Weakness Classification(1)

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

Additional Vendor Advisories

(12)

Data Freshness Timeline

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

Frequently asked(5)

What is CVE-2026-23233?
CVE-2026-23233 is a high vulnerability published on March 4, 2026. In the Linux kernel, the following vulnerability has been resolved: f2fs: fix to avoid mapping wrong physical block for swapfile Xiaolong Guo reported a f2fs bug in bugzilla [1] [1] https://bugzilla.kernel.org/show_bug.cgi?id=220951 Quoted: "When using stress-ng's swap stress test on F2FS…
When was CVE-2026-23233 disclosed?
CVE-2026-23233 was first published in the National Vulnerability Database on March 4, 2026, with the most recent update on June 17, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2026-23233 actively exploited?
CVE-2026-23233 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 94.4% of all scored CVEs.
What is the CVSS score of CVE-2026-23233?
CVE-2026-23233 has a CVSS v3 base score of 7.8 (NVD).
How do I remediate CVE-2026-23233?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2026-23233, 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-23233

Explore →

Is Your Infrastructure Affected by CVE-2026-23233?

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