CVE-2024-50250: fsdax: dax_unshare_iter needs to copy entire blocks
Noroxi assessment
Priority: Monitor (action score 28/100)
- The sources we track (CISA KEV, Exploit-DB, Metasploit, Nuclei, GitHub) show no public exploit code or exploitation in the wild.
- Probability of exploitation in the next 30 days: 0.22% (FIRST EPSS).
- Someone with local access to the system can trigger it. A low-privileged account is enough. No user action is required. No special conditions are required; it is repeatable.
- Fixed version: Linux Linux 50793801fc7f6d08def48754fb0f0706b0cfc394, 6.1.116, 8e9c0f500b42216ef930f5c0d1703989a451913d; azl3 kernel 6.6.57.1-7 on Azure Linux 3.0 6.6.64.2-1; azl3 kernel 6.6.64.2-1 on Azure Linux 3.0 6.6.64.2-1.
Low priority for now. Upgrade to Linux Linux 50793801fc7f6d08def48754fb0f0706b0cfc394, 6.1.116, 8e9c0f500b42216ef930f5c0d1703989a451913d; azl3 kernel 6.6.57.1-7 on Azure Linux 3.0 6.6.64.2-1; azl3 kernel 6.6.64.2-1 on Azure Linux 3.0 6.6.64.2-1 or later.
Generated automatically from the record's data: CVSS (NVD and CNA), CISA KEV and SSVC, FIRST EPSS, exploit sources, fixed versions. How we calculate it
Primary sources: NVD · CVE.org · FIRST EPSS
In the Linux kernel, the following vulnerability has been resolved: fsdax: dax_unshare_iter needs to copy entire blocks The code that copies data from srcmap to iomap in dax_unshare_iter is very very broken, which bfoster's recent fsx changes have exposed. If the pos and len passed to dax_file_unshare are not aligned to an fsblock boundary, the iter pos and length in the _iter function will reflect this unalignment. dax_iomap_direct_access always returns a pointer to the start of the kmapped fsdax page, even if its pos argument is in the middle of that page. This is catastrophic for data integrity when iter->pos is not aligned to a page, because daddr/saddr do not point to the same byte in the file as iter->pos. Hence we corrupt user data by copying it to the wrong place. If iter->pos + iomap_length() in the _iter function not aligned to a page, then we fail to copy a full block, and only partially populate the destination block. This is catastrophic for data confidentiality because we expose stale pmem contents. Fix both of these issues by aligning copy_pos/copy_len to a page boundary (remember, this is fsdax so 1 fsblock == 1 base page) so that we always copy full blocks. We're not done yet -- there's no call to invalidate_inode_pages2_range, so programs that have the file range mmap'd will continue accessing the old memory mapping after the file metadata updates have completed. Be careful with the return value -- if the unshare succeeds, we still need to return the number of bytes that the iomap iter thinks we're operating on.
- BDU:2025-06980
- SUSE-SU-2025:02388-1
- SUSE-SU-2025:02389-1
- SUSE-SU-2025:02390-1
- SUSE-SU-2025:02411-1
- SUSE-SU-2025:02412-1
- SUSE-SU-2025:02420-1
- SUSE-SU-2025:02440-1
- SUSE-SU-2025:02449-1
- SUSE-SU-2025:20517-1
- SUSE-SU-2025:20518-1
- SUSE-SU-2025:20525-1
- SUSE-SU-2025:20526-1
- SUSE-SU-2025:20540-1
- SUSE-SU-2025:20544-1
- Published
- Nov 9, 2024
- Updated
- Aug 5, 2026
- EPSS
- 0.2% · 13th percentile
- CWE
- —
Report tools
Action score
28
Low priority for now.
- CVSS
- 28 / 40 · 7.1 / 10
- CISA KEV
- 0 / 30 · Not listed
- EPSS
- 0 / 30 · 0.2%
CISA SSVC decision
- Exploitation
- none
- Automatable
- no
- Technical impact
- total
Vulnrichment: CISA's decision-tree inputs.
CNA vs NVD score
- NVD
- 7.1
- CNA · Linux
- 7.8
- 0.7 point gap
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
The score given by the assigning authority versus NVD’s independent score. A gap means the severity is contested.
Get told when this record changes
- Not in KEV: no record of exploitation in the wild
- No public exploit code on record
- A fix has been released
If any of these changes, we'll tell you in the daily email digest.
Is your version affected? Check itNoroxi analysis
What does it mean in your environment?
The assessment above is generated automatically from the record's data; it doesn't know your environment. Our team verifies on your systems whether this vulnerability is actually exploitable and which mitigation is enough.
We use this product, ask for helpAffected systems
Is your version affected?
Pick the product and type the version you run. It's compared with this record's version ranges in your browser; the version isn't sent anywhere.
| Vendor | Product | CPE |
|---|---|---|
| linux | linux kernel | cpe:2.3:o:linux:linux_kernel |
Versions reported by the vendor
Affected version ranges reported by the assigning authority (Linux). Independent of NVD's CPE analysis and usually ahead of it.
Linux Linux
- 6.2affected
- 1bec6782a25c9b92c203ea7a1b3e3dc6a468cbc4 and later · before bdbc96c23197d773a7d1bf03e4f11de593b0ff28affected · git
- d984648e428bf88cbd94ebe346c73632cb92fffb and later · before 9bc18bb476e50e32e5d08f2734d63d63e0fa528caffected · git
- d984648e428bf88cbd94ebe346c73632cb92fffb and later · before 8e9c0f500b42216ef930f5c0d1703989a451913daffected · git
- d984648e428bf88cbd94ebe346c73632cb92fffb and later · before 50793801fc7f6d08def48754fb0f0706b0cfc394affected · git
- 6.1.113 and later · before 6.1.116affected · semver
- before 6.2not affected · semver
- 6.1.116 and later · up to and including 6.1.*not affected · semver
- 6.6.60 and later · up to and including 6.6.*not affected · semver
- 6.11.7 and later · up to and including 6.11.*not affected · semver
Affected versions · NVD (4)
NVD version ranges (for catalog products). Add the product to your stack with a version and matching uses these.
- linux linux kernel6.1.113 and later · before 6.1.116
- linux linux kernel6.2 and later · before 6.6.60
- linux linux kernel6.7 and later · before 6.11.7
- linux linux kernel6.12
Package-level exposure
OSV and GitHub Advisory data: ecosystem, package and range. SBOM matching uses this table.
| Ecosystem | Package | Affected range | Fix |
|---|---|---|---|
| Debian:12 | linux | before 6.1.119-1 | 6.1.119-1 |
| Debian:13 | linux | before 6.11.7-1 | 6.11.7-1 |
| SUSE:Linux Enterprise Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6_Update_0 | before 19-150600.4.49.1 | 19-150600.4.49.1 |
| SUSE:Linux Enterprise Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6_Update_4 | before 13-150600.2.1 | 13-150600.2.1 |
| SUSE:Linux Enterprise Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6-RT_Update_0 | before 18-150600.3.1 | 18-150600.3.1 |
| SUSE:Linux Enterprise Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6-RT_Update_1 | before 17-150600.2.1 | 17-150600.2.1 |
| SUSE:Linux Enterprise Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6-RT_Update_2 | before 13-150600.2.1 | 13-150600.2.1 |
| SUSE:Linux Enterprise Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6-RT_Update_3 | before 13-150600.2.1 | 13-150600.2.1 |
| SUSE:Linux Enterprise Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6-RT_Update_4 | before 12-150600.2.1 | 12-150600.2.1 |
| SUSE:Linux Enterprise Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6-RT_Update_5 | before 11-150600.2.1 | 11-150600.2.1 |
| SUSE:Linux Micro 6.0 | kernel-livepatch-MICRO-6-0_Update_2 | before 8-1.1 | 8-1.1 |
| SUSE:Linux Micro 6.0 | kernel-livepatch-MICRO-6-0_Update_3 | before 8-1.2 | 8-1.2 |
| SUSE:Linux Micro 6.0 | kernel-livepatch-MICRO-6-0-RT_Update_2 | before 8-1.1 | 8-1.1 |
| SUSE:Linux Micro 6.0 | kernel-livepatch-MICRO-6-0-RT_Update_3 | before 8-1.2 | 8-1.2 |
Same product
linux: all recordsOther highest-scoring records for the same primary product.
- CVE-2026-31431crypto: algif_aead - Revert to operating out-of-placeKEV90Now
- CVE-2022-0847A flaw was found in the way the "flags" member of the new pipe buffer structure was lacking proper initialization in copy_page_to_iter_pipe…KEV89Now
- CVE-2021-22555Heap Out-Of-Bounds Write in Netfilter IP6T_SO_SET_REPLACEKEV85Now
Published before and after this one in the same product
- ← EarlierCVE-2024-50248Nov 9, 2024 · ntfs3: Add bounds checking to mi_enum_attr()22Monitor
- ← EarlierCVE-2024-50249Nov 9, 2024 · ACPI: CPPC: Make rmw_lock a raw_spin_lock22Monitor
- Later →CVE-2024-50252Nov 9, 2024 · mlxsw: spectrum_ipip: Fix memory leak when changing remote IPv6 address22Monitor
Remediation
Which version to upgrade to
Fix versions compiled from the vendor, package registries and Microsoft. Verify the vendor's note before upgrading.
| Product / package | Fixed version | Source |
|---|---|---|
| Linux Linux | 50793801fc7f6d08def48754fb0f0706b0cfc394 | Vendor (CNA) |
| Linux Linux | 6.1.116 | Vendor (CNA) |
| Linux Linux | 8e9c0f500b42216ef930f5c0d1703989a451913d | Vendor (CNA) |
| Linux Linux | 9bc18bb476e50e32e5d08f2734d63d63e0fa528c | Vendor (CNA) |
| Linux Linux | bdbc96c23197d773a7d1bf03e4f11de593b0ff28 | Vendor (CNA) |
| azl3 kernel 6.6.57.1-7 on Azure Linux 3.0 | 6.6.64.2-1 · CBL-Mariner Releases | Microsoft (MSRC) |
| azl3 kernel 6.6.64.2-1 on Azure Linux 3.0 | 6.6.64.2-1 · CBL-Mariner Releases | Microsoft (MSRC) |
| debian:linux | 6.1.119-1 · Debian:12 | Package registry (OSV) |
| suse:kernel-livepatch-MICRO-6-0_Update_2 | 8-1.1 · SUSE:Linux Micro 6.0 | Package registry (OSV) |
| suse:kernel-livepatch-MICRO-6-0_Update_3 | 8-1.2 · SUSE:Linux Micro 6.0 | Package registry (OSV) |
| suse:kernel-livepatch-MICRO-6-0-RT_Update_2 | 8-1.1 · SUSE:Linux Micro 6.0 | Package registry (OSV) |
| suse:kernel-livepatch-MICRO-6-0-RT_Update_3 | 8-1.2 · SUSE:Linux Micro 6.0 | Package registry (OSV) |
| suse:kernel-livepatch-SLE15-SP6_Update_0 | 19-150600.4.49.1 · SUSE:Linux Enterprise Live Patching 15 SP6 | Package registry (OSV) |
| suse:kernel-livepatch-SLE15-SP6_Update_4 | 13-150600.2.1 · SUSE:Linux Enterprise Live Patching 15 SP6 | Package registry (OSV) |
| suse:kernel-livepatch-SLE15-SP6-RT_Update_0 | 18-150600.3.1 · SUSE:Linux Enterprise Live Patching 15 SP6 | Package registry (OSV) |
| suse:kernel-livepatch-SLE15-SP6-RT_Update_1 | 17-150600.2.1 · SUSE:Linux Enterprise Live Patching 15 SP6 | Package registry (OSV) |
| suse:kernel-livepatch-SLE15-SP6-RT_Update_2 | 13-150600.2.1 · SUSE:Linux Enterprise Live Patching 15 SP6 | Package registry (OSV) |
| suse:kernel-livepatch-SLE15-SP6-RT_Update_3 | 13-150600.2.1 · SUSE:Linux Enterprise Live Patching 15 SP6 | Package registry (OSV) |
| suse:kernel-livepatch-SLE15-SP6-RT_Update_4 | 12-150600.2.1 · SUSE:Linux Enterprise Live Patching 15 SP6 | Package registry (OSV) |
| suse:kernel-livepatch-SLE15-SP6-RT_Update_5 | 11-150600.2.1 · SUSE:Linux Enterprise Live Patching 15 SP6 | Package registry (OSV) |
Exploit status
No known public exploit
No public exploit has been observed yet. That doesn't mean you're safe, only that the bar is a little higher.
Research context
For pentesters and researchers: attack profile, score disagreement, timeline, patch commits, credits, variant and chain candidates, bug bounty scope. All derived from existing data; no exploit code.
Timeline
From publication to today: proof of concept, Metasploit module, CISA KEV and fix record. Dates are as reported by the sources.
No dated events beyond publication.
Not on record for this CVE: EPSS history · patch commit or PR link · researcher credit · variant or chain candidate · public bounty program.
Technical details
Attack conditions
- Someone with local access to the system can trigger it.
- A low-privileged account is enough.
- No user action is required.
- No special conditions are required; it is repeatable.
If successful
- Confidentiality
- high · data can be read
- Integrity
- high · data or configuration can be modified
- Availability
- none
- Attack vector
- Local
- Attack complexity
- Low
- Privileges required
- Low
- User interaction
- None
- Scope
- Unchanged
- Confidentiality impact
- High
- Integrity impact
- High
- Availability impact
- None
Weakness class (CWE)
—
CVSS vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
nvd-primary
Attack context
MITRE CAPEC attack patterns and ATT&CK techniques for this weakness class (CWE). A starting point for detection rules and threat hunting.
MITRE has no CAPEC/ATT&CK mapping for this CWE.
Change log (1)
- Fix✗ → ✓
For records you follow, these changes also arrive as notifications. →
References
Show all references (4 more)Show less
Vendor advisories and official records. Exploit/PoC links are deliberately left out.