{"id":"CVE-2026-80528","state":"PUBLISHED","title":"ceph: avoid fs reclaim while using current->journal_info","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nceph: avoid fs reclaim while using current->journal_info\n\nhandle_reply() stores a `ceph_mds_request` pointer in\n`current->journal_info` while filling the inode and dentry cache from\nan MDS reply.\n\nAn allocation in this section can enter direct reclaim and prune\ndentries from another filesystem.  If this dirties an ext4 inode, ext4\nstarts a JBD2 transaction.  JBD2 interprets the Ceph request in\n`current->journal_info` as a journal handle and dereferences the\nrequest's `r_tid` as `h_transaction`, causing a kernel crash, e.g.:\n\n Unable to handle kernel paging request at virtual address 00000000077b4818\n [...]\n Internal error: Oops: 0000000096000004 [#1]  SMP\n Modules linked in:\n CPU: 6 UID: 0 PID: 2699135 Comm: kworker/6:3 Tainted: G        W           6.18.38-i3 #1113 NONE\n [...]\n Workqueue: ceph-msgr ceph_con_workfn\n pstate: 80400009 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)\n pc : jbd2__journal_start+0x2c/0x208\n lr : __ext4_journal_start_sb+0x100/0x178\n [...]\n Call trace:\n  jbd2__journal_start+0x2c/0x208 (P)\n  __ext4_journal_start_sb+0x100/0x178\n  ext4_dirty_inode+0x3c/0x90\n  __mark_inode_dirty+0x58/0x400\n  iput.part.0+0x2b0/0x370\n  iput+0x18/0x30\n  dentry_unlink_inode+0xc0/0x158\n  __dentry_kill+0x80/0x250\n  shrink_dentry_list+0x90/0x130\n  prune_dcache_sb+0x60/0x98\n  super_cache_scan+0xe8/0x190\n  do_shrink_slab+0x174/0x388\n  shrink_slab+0xd8/0x4c0\n  shrink_node+0x31c/0x908\n  do_try_to_free_pages+0xd0/0x508\n  try_to_free_pages+0x11c/0x238\n  __alloc_frozen_pages_noprof+0x4d0/0xdd0\n  __folio_alloc_noprof+0x18/0x70\n  __filemap_get_folio+0x248/0x440\n  ceph_readdir_prepopulate+0x570/0x9e8\n  mds_dispatch+0x1424/0x1ba0\n  ceph_con_process_message+0x74/0xa0\n  ceph_con_v1_try_read+0x3a0/0x1510\n  ceph_con_workfn+0x260/0x460\n\nEnter a scoped NOFS allocation context and leave it after clearing\n`journal_info`.  This prevents filesystem reclaim from recursing into\nanother filesystem while the field contains Ceph-private data.","publishedAt":"2026-08-26T14:37:06.781Z","updatedAt":"2026-10-16T19:26:24.829Z","severity":{"score":9.8,"label":"Critical","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","source":"Linux"},"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"315f24088048a51eed341c53be66ea477a3c7d16","status":"affected","lessThan":"ca5fa2380dd90a0adb01580fa6225025351a90f6","versionType":"git"},{"version":"315f24088048a51eed341c53be66ea477a3c7d16","status":"affected","lessThan":"00c12f57a87f537fa8779258fb3a03003a99963e","versionType":"git"},{"version":"315f24088048a51eed341c53be66ea477a3c7d16","status":"affected","lessThan":"4dbb2c02558e71f93510a6461d7e798b67426b49","versionType":"git"},{"version":"315f24088048a51eed341c53be66ea477a3c7d16","status":"affected","lessThan":"c8a21660c3b90864c391164eea5622e7b5b2897c","versionType":"git"},{"version":"315f24088048a51eed341c53be66ea477a3c7d16","status":"affected","lessThan":"47b745747b3aa39064724a642884f9df924ddf20","versionType":"git"},{"version":"315f24088048a51eed341c53be66ea477a3c7d16","status":"affected","lessThan":"79d95b43ca090426399651ed580dd9bf2db36ab8","versionType":"git"},{"version":"315f24088048a51eed341c53be66ea477a3c7d16","status":"affected","lessThan":"b6a0989613072499633e761a1536428a466de7d3","versionType":"git"},{"version":"315f24088048a51eed341c53be66ea477a3c7d16","status":"affected","lessThan":"5b602344a49e039e792ce5a8923bcc61412ee134","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/ceph/mds_client.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"4.6","status":"affected"},{"version":"0","status":"unaffected","lessThan":"4.6","versionType":"semver"},{"version":"5.10.266","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.217","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.184","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.153","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.105","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.46","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.1.10","status":"unaffected","lessThanOrEqual":"7.1.*","versionType":"semver"},{"version":"7.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/ceph/mds_client.c"]}],"references":["https://git.kernel.org/stable/c/ca5fa2380dd90a0adb01580fa6225025351a90f6","https://git.kernel.org/stable/c/00c12f57a87f537fa8779258fb3a03003a99963e","https://git.kernel.org/stable/c/4dbb2c02558e71f93510a6461d7e798b67426b49","https://git.kernel.org/stable/c/c8a21660c3b90864c391164eea5622e7b5b2897c","https://git.kernel.org/stable/c/47b745747b3aa39064724a642884f9df924ddf20","https://git.kernel.org/stable/c/79d95b43ca090426399651ed580dd9bf2db36ab8","https://git.kernel.org/stable/c/b6a0989613072499633e761a1536428a466de7d3","https://git.kernel.org/stable/c/5b602344a49e039e792ce5a8923bcc61412ee134"],"weaknesses":[],"ingestedAt":"2026-10-29T20:13:07.220Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/80xxx/CVE-2026-80528.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-80528","state":"PUBLISHED","datePublished":"2026-08-26T14:37:06.781Z","dateUpdated":"2026-10-16T19:26:24.829Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-08-26T14:34:25.764Z"},"containers":{"cna":{"title":"ceph: avoid fs reclaim while using current->journal_info","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nceph: avoid fs reclaim while using current->journal_info\n\nhandle_reply() stores a `ceph_mds_request` pointer in\n`current->journal_info` while filling the inode and dentry cache from\nan MDS reply.\n\nAn allocation in this section can enter direct reclaim and prune\ndentries from another filesystem.  If this dirties an ext4 inode, ext4\nstarts a JBD2 transaction.  JBD2 interprets the Ceph request in\n`current->journal_info` as a journal handle and dereferences the\nrequest's `r_tid` as `h_transaction`, causing a kernel crash, e.g.:\n\n Unable to handle kernel paging request at virtual address 00000000077b4818\n [...]\n Internal error: Oops: 0000000096000004 [#1]  SMP\n Modules linked in:\n CPU: 6 UID: 0 PID: 2699135 Comm: kworker/6:3 Tainted: G        W           6.18.38-i3 #1113 NONE\n [...]\n Workqueue: ceph-msgr ceph_con_workfn\n pstate: 80400009 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)\n pc : jbd2__journal_start+0x2c/0x208\n lr : __ext4_journal_start_sb+0x100/0x178\n [...]\n Call trace:\n  jbd2__journal_start+0x2c/0x208 (P)\n  __ext4_journal_start_sb+0x100/0x178\n  ext4_dirty_inode+0x3c/0x90\n  __mark_inode_dirty+0x58/0x400\n  iput.part.0+0x2b0/0x370\n  iput+0x18/0x30\n  dentry_unlink_inode+0xc0/0x158\n  __dentry_kill+0x80/0x250\n  shrink_dentry_list+0x90/0x130\n  prune_dcache_sb+0x60/0x98\n  super_cache_scan+0xe8/0x190\n  do_shrink_slab+0x174/0x388\n  shrink_slab+0xd8/0x4c0\n  shrink_node+0x31c/0x908\n  do_try_to_free_pages+0xd0/0x508\n  try_to_free_pages+0x11c/0x238\n  __alloc_frozen_pages_noprof+0x4d0/0xdd0\n  __folio_alloc_noprof+0x18/0x70\n  __filemap_get_folio+0x248/0x440\n  ceph_readdir_prepopulate+0x570/0x9e8\n  mds_dispatch+0x1424/0x1ba0\n  ceph_con_process_message+0x74/0xa0\n  ceph_con_v1_try_read+0x3a0/0x1510\n  ceph_con_workfn+0x260/0x460\n\nEnter a scoped NOFS allocation context and leave it after clearing\n`journal_info`.  This prevents filesystem reclaim from recursing into\nanother filesystem while the field contains Ceph-private data."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"315f24088048a51eed341c53be66ea477a3c7d16","status":"affected","lessThan":"ca5fa2380dd90a0adb01580fa6225025351a90f6","versionType":"git"},{"version":"315f24088048a51eed341c53be66ea477a3c7d16","status":"affected","lessThan":"00c12f57a87f537fa8779258fb3a03003a99963e","versionType":"git"},{"version":"315f24088048a51eed341c53be66ea477a3c7d16","status":"affected","lessThan":"4dbb2c02558e71f93510a6461d7e798b67426b49","versionType":"git"},{"version":"315f24088048a51eed341c53be66ea477a3c7d16","status":"affected","lessThan":"c8a21660c3b90864c391164eea5622e7b5b2897c","versionType":"git"},{"version":"315f24088048a51eed341c53be66ea477a3c7d16","status":"affected","lessThan":"47b745747b3aa39064724a642884f9df924ddf20","versionType":"git"},{"version":"315f24088048a51eed341c53be66ea477a3c7d16","status":"affected","lessThan":"79d95b43ca090426399651ed580dd9bf2db36ab8","versionType":"git"},{"version":"315f24088048a51eed341c53be66ea477a3c7d16","status":"affected","lessThan":"b6a0989613072499633e761a1536428a466de7d3","versionType":"git"},{"version":"315f24088048a51eed341c53be66ea477a3c7d16","status":"affected","lessThan":"5b602344a49e039e792ce5a8923bcc61412ee134","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/ceph/mds_client.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"4.6","status":"affected"},{"version":"0","status":"unaffected","lessThan":"4.6","versionType":"semver"},{"version":"5.10.266","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.217","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.184","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.153","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.105","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.46","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.1.10","status":"unaffected","lessThanOrEqual":"7.1.*","versionType":"semver"},{"version":"7.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/ceph/mds_client.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/ca5fa2380dd90a0adb01580fa6225025351a90f6"},{"url":"https://git.kernel.org/stable/c/00c12f57a87f537fa8779258fb3a03003a99963e"},{"url":"https://git.kernel.org/stable/c/4dbb2c02558e71f93510a6461d7e798b67426b49"},{"url":"https://git.kernel.org/stable/c/c8a21660c3b90864c391164eea5622e7b5b2897c"},{"url":"https://git.kernel.org/stable/c/47b745747b3aa39064724a642884f9df924ddf20"},{"url":"https://git.kernel.org/stable/c/79d95b43ca090426399651ed580dd9bf2db36ab8"},{"url":"https://git.kernel.org/stable/c/b6a0989613072499633e761a1536428a466de7d3"},{"url":"https://git.kernel.org/stable/c/5b602344a49e039e792ce5a8923bcc61412ee134"}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","baseScore":9.8,"baseSeverity":"CRITICAL"},"scenarios":[{"lang":"en","value":"AV:N - The crash path runs in the ceph-msgr kworker handling CEPH_MSG_CLIENT_REPLY from the MDS over TCP; on Ceph/Rook/Kubernetes nodes with cephfs mounted, a compromised or malicious MDS peer drives handle_reply() remotely without requiring a victim syscall.\nAC:L - A MDS peer can supply large readdir/lookup replies to force GFP_KERNEL allocations in ceph_fill_trace/ceph_readdir_prepopulate while journal_info is set, making direct reclaim into ext4 dentry pruning likely without rare kernel configs or uncontrollable heap layout.\nPR:N - Exploitation requires no Linux UID, capability, or init-namespace root on the victim; any kernel cephfs client already connected to an attacker-controlled or compromised cluster suffices, consistent with other MDS-reply client CVEs (e.g., CVE-2026-80527).\nUI:N - Once cephfs is mounted (standard in Ceph deployments), MDS replies are processed automatically in kworker context; attackers need not induce a victim to mount media or perform a one-off interactive step at exploitation time.\nS:U - Impact is a kernel oops from JBD2 mistyping current->journal_info on the same host; it does not cross VM, container, or IOMMU boundaries to another security authority.\nC:H - While journal_info holds a ceph_mds_request pointer, ext4 reclaim invokes jbd2__journal_start(), type-confusing that object as a journal handle and dereferencing r_tid as h_transaction—a cross-subsystem type confusion with kernel-pointer read potential per CNA memory-safety guidance.\nI:H - Type confusion of current->journal_info between Ceph and JBD2 misinterprets live ceph_mds_request fields as journal-handle metadata during MDS reply processing; kernel CNA guidance classes type confusion as High integrity impact even when the immediate fault is an oops.\nA:H - The reported ARM64 oops in jbd2__journal_start() from invalid h_transaction dereference reliably crashes the ceph-msgr worker and can panic the node; reclaim during MDS reply handling enables repeated remote-triggered denial-of-service."}]}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-08-27T05:01:23.093Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.6","versionEndExcluding":"5.10.266"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.6","versionEndExcluding":"5.15.217"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.6","versionEndExcluding":"6.1.184"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.6","versionEndExcluding":"6.6.153"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.6","versionEndExcluding":"6.12.105"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.6","versionEndExcluding":"6.18.46"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.6","versionEndExcluding":"7.1.10"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.6","versionEndExcluding":"7.2"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2026-80528","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"yes"},{"Technical Impact":"total"}],"version":"2.0.3","timestamp":"2026-10-16T19:16:38.118673Z"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-10-16T19:26:24.829Z"}}]}}}