CVE-2023-52900: nilfs2: fix general protection fault in nilfs_btree_insert()
Noroxi assessment
Priority: Monitor (action score 22/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.24% (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 0bf463939c09e5b2c35c71ed74a5fd60a74d6a04, 3c2a2ff67d46106715c2132021b98bd057c27545, 45627a1a6450662e1e0f8174ef07b05710a20062.
- Mentioned 1 time in Turkish national cyber security advisories (siberguvenlik.gov.tr).
Low priority for now. Upgrade to Linux Linux 0bf463939c09e5b2c35c71ed74a5fd60a74d6a04, 3c2a2ff67d46106715c2132021b98bd057c27545, 45627a1a6450662e1e0f8174ef07b05710a20062 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: nilfs2: fix general protection fault in nilfs_btree_insert() If nilfs2 reads a corrupted disk image and tries to reads a b-tree node block by calling __nilfs_btree_get_block() against an invalid virtual block address, it returns -ENOENT because conversion of the virtual block address to a disk block address fails. However, this return value is the same as the internal code that b-tree lookup routines return to indicate that the block being searched does not exist, so functions that operate on that b-tree may misbehave. When nilfs_btree_insert() receives this spurious 'not found' code from nilfs_btree_do_lookup(), it misunderstands that the 'not found' check was successful and continues the insert operation using incomplete lookup path data, causing the following crash: general protection fault, probably for non-canonical address 0xdffffc0000000005: 0000 [#1] PREEMPT SMP KASAN KASAN: null-ptr-deref in range [0x0000000000000028-0x000000000000002f] ... RIP: 0010:nilfs_btree_get_nonroot_node fs/nilfs2/btree.c:418 [inline] RIP: 0010:nilfs_btree_prepare_insert fs/nilfs2/btree.c:1077 [inline] RIP: 0010:nilfs_btree_insert+0x6d3/0x1c10 fs/nilfs2/btree.c:1238 Code: bc 24 80 00 00 00 4c 89 f8 48 c1 e8 03 42 80 3c 28 00 74 08 4c 89 ff e8 4b 02 92 fe 4d 8b 3f 49 83 c7 28 4c 89 f8 48 c1 e8 03 <42> 80 3c 28 00 74 08 4c 89 ff e8 2e 02 92 fe 4d 8b 3f 49 83 c7 02 ... Call Trace: <TASK> nilfs_bmap_do_insert fs/nilfs2/bmap.c:121 [inline] nilfs_bmap_insert+0x20d/0x360 fs/nilfs2/bmap.c:147 nilfs_get_block+0x414/0x8d0 fs/nilfs2/inode.c:101 __block_write_begin_int+0x54c/0x1a80 fs/buffer.c:1991 __block_write_begin fs/buffer.c:2041 [inline] block_write_begin+0x93/0x1e0 fs/buffer.c:2102 nilfs_write_begin+0x9c/0x110 fs/nilfs2/inode.c:261 generic_perform_write+0x2e4/0x5e0 mm/filemap.c:3772 __generic_file_write_iter+0x176/0x400 mm/filemap.c:3900 generic_file_write_iter+0xab/0x310 mm/filemap.c:3932 call_write_iter include/linux/fs.h:2186 [inline] new_sync_write fs/read_write.c:491 [inline] vfs_write+0x7dc/0xc50 fs/read_write.c:584 ksys_write+0x177/0x2a0 fs/read_write.c:637 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x3d/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x63/0xcd ... </TASK> This patch fixes the root cause of this problem by replacing the error code that __nilfs_btree_get_block() returns on block address conversion failure from -ENOENT to another internal code -EINVAL which means that the b-tree metadata is corrupted. By returning -EINVAL, it propagates without glitches, and for all relevant b-tree operations, functions in the upper bmap layer output an error message indicating corrupted b-tree metadata via nilfs_bmap_convert_error(), and code -EIO will be eventually returned as it should be.
- Published
- Aug 21, 2024
- Updated
- Jun 17, 2026
- EPSS
- 0.2% · 15th percentile
- CWE
- —
Report tools
Action score
22
Monitor
Low priority for now.
- CVSS
- 22 / 40 · 5.5 / 10
- CISA KEV
- 0 / 30 · Not listed
- EPSS
- 0 / 30 · 0.2%
CISA SSVC decision
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
Vulnrichment: CISA's decision-tree inputs.
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.
Running WordPress? Scan your site free with WP Lens
Noroxi 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 |
Affected versions
NVD version ranges (for catalog products). Add the product to your stack with a version and matching uses these.
- linux linux kernelbefore 4.14.304
- linux linux kernel4.15 and later · before 4.19.271
- linux linux kernel4.20 and later · before 5.4.230
- linux linux kernel5.5 and later · before 5.10.165
- linux linux kernel5.11 and later · before 5.15.90
- linux linux kernel5.16 and later · before 6.1.8
- linux linux kernel6.2
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
- 2.6.30affected
- a60be987d45dd510aeb54389526f9957cfab106c and later · before 3c2a2ff67d46106715c2132021b98bd057c27545affected · git
- a60be987d45dd510aeb54389526f9957cfab106c and later · before d9fde9eab1766170ff2ade67d09178d2cfd78749affected · git
- a60be987d45dd510aeb54389526f9957cfab106c and later · before b0ba060d3287108eba17603bee3810e4cf2c272daffected · git
- a60be987d45dd510aeb54389526f9957cfab106c and later · before 712bd74eccb9d3626a0a236641962eca8e11a243affected · git
- a60be987d45dd510aeb54389526f9957cfab106c and later · before 45627a1a6450662e1e0f8174ef07b05710a20062affected · git
- a60be987d45dd510aeb54389526f9957cfab106c and later · before 0bf463939c09e5b2c35c71ed74a5fd60a74d6a04affected · git
- a60be987d45dd510aeb54389526f9957cfab106c and later · before 7633355e5c7f29c049a9048e461427d1d8ed3051affected · git
- before 2.6.30not affected · semver
- 4.14.304 and later · up to and including 4.14.*not affected · semver
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.8-1 | 6.1.8-1 |
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-2023-52898Aug 21, 2024 · xhci: Fix null pointer dereference when host dies18Monitor
- ← EarlierCVE-2023-52899Aug 21, 2024 · Add exception protection processing for vd in axi_chan_handle_err function22Monitor
- Later →CVE-2023-52901Aug 21, 2024 · usb: xhci: Check endpoint is valid before dereferencing it22Monitor
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 | 0bf463939c09e5b2c35c71ed74a5fd60a74d6a04 | Vendor (CNA) |
| Linux Linux | 3c2a2ff67d46106715c2132021b98bd057c27545 | Vendor (CNA) |
| Linux Linux | 45627a1a6450662e1e0f8174ef07b05710a20062 | Vendor (CNA) |
| Linux Linux | 712bd74eccb9d3626a0a236641962eca8e11a243 | Vendor (CNA) |
| Linux Linux | 7633355e5c7f29c049a9048e461427d1d8ed3051 | Vendor (CNA) |
| Linux Linux | b0ba060d3287108eba17603bee3810e4cf2c272d | Vendor (CNA) |
| Linux Linux | d9fde9eab1766170ff2ade67d09178d2cfd78749 | Vendor (CNA) |
| debian:linux | 6.1.8-1 · Debian:12 | 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.
No history yet (it accumulates with the daily EPSS job).
Patch and commit links
Commit, PR and diff links among the references. A starting point for patch-diffing and variant hunting; fixes, not exploits.
No commit or PR link among the references.
Credits
All researchersFinders, reporters and analysts named in the CNA record. Click a name for that researcher’s other records.
No credits in the CNA record.
Variant candidates
Same product, same weakness class, within 18 months. If the patch missed the root cause, the sibling bug is here.
No nightly-computed relations.
Chain candidates
An authentication bypass and a privilege-requiring bug in the same product, published close together: combined they may become an unauthenticated path.
—
Bug bounty scope
No known public program.
Source: bounty-targets-data (public HackerOne, Bugcrowd, Intigriti, YesWeHack listings).
National notice (Türkiye Cybersecurity Directorate / USOM)
Official security notices citing this record; remediation advice is on the agency's page.
- TR-24-1311 · Aug 22, 2024(Linux Kernel Güvenlik Bildirimi)
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
- none
- Integrity
- none
- Availability
- high · the service can be disrupted
- Attack vector
- Local
- Attack complexity
- Low
- Privileges required
- Low
- User interaction
- None
- Scope
- Unchanged
- Confidentiality impact
- None
- Integrity impact
- None
- Availability impact
- High
Weakness class (CWE)
—
CVSS vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
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
- Fix✗ → ✓
For records you follow, these changes also arrive as notifications. →
References
Show all references (6 more)Show less
- git.kernel.org/stable/c/3c2a2ff67d46106715c2132021b98bd057c27545
- git.kernel.org/stable/c/45627a1a6450662e1e0f8174ef07b05710a20062
- git.kernel.org/stable/c/712bd74eccb9d3626a0a236641962eca8e11a243
- git.kernel.org/stable/c/7633355e5c7f29c049a9048e461427d1d8ed3051
- git.kernel.org/stable/c/b0ba060d3287108eba17603bee3810e4cf2c272d
- git.kernel.org/stable/c/d9fde9eab1766170ff2ade67d09178d2cfd78749
Vendor advisories and official records. Exploit/PoC links are deliberately left out.