{"id":77387,"date":"2026-02-18T19:52:32","date_gmt":"2026-02-18T16:22:32","guid":{"rendered":"https:\/\/afaghhosting.net\/blog\/cve-2026-23224-erofs-fix-uaf-issue-for-file-backed-mounts-w-directio-option\/"},"modified":"2026-02-18T19:52:32","modified_gmt":"2026-02-18T16:22:32","slug":"cve-2026-23224-erofs-fix-uaf-issue-for-file-backed-mounts-w-directio-option","status":"publish","type":"post","link":"https:\/\/afaghhosting.net\/blog\/cve-2026-23224-erofs-fix-uaf-issue-for-file-backed-mounts-w-directio-option\/","title":{"rendered":"CVE-2026-23224 &#8211; erofs: fix UAF issue for file-backed mounts w\/ directio option"},"content":{"rendered":"<p>CVE ID : CVE-2026-23224<\/p>\n<p>Published :  Feb. 18, 2026, 4:22 p.m. | 37\u00a0minutes ago<\/p>\n<p>Description : In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>erofs: fix UAF issue for file-backed mounts w\/ directio option<\/p>\n[    9.269940][ T3222] Call trace:<br \/>\n[    9.269948][ T3222]  ext4_file_read_iter+0xac\/0x108<br \/>\n[    9.269979][ T3222]  vfs_iocb_iter_read+0xac\/0x198<br \/>\n[    9.269993][ T3222]  erofs_fileio_rq_submit+0x12c\/0x180<br \/>\n[    9.270008][ T3222]  erofs_fileio_submit_bio+0x14\/0x24<br \/>\n[    9.270030][ T3222]  z_erofs_runqueue+0x834\/0x8ac<br \/>\n[    9.270054][ T3222]  z_erofs_read_folio+0x120\/0x220<br \/>\n[    9.270083][ T3222]  filemap_read_folio+0x60\/0x120<br \/>\n[    9.270102][ T3222]  filemap_fault+0xcac\/0x1060<br \/>\n[    9.270119][ T3222]  do_pte_missing+0x2d8\/0x1554<br \/>\n[    9.270131][ T3222]  handle_mm_fault+0x5ec\/0x70c<br \/>\n[    9.270142][ T3222]  do_page_fault+0x178\/0x88c<br \/>\n[    9.270167][ T3222]  do_translation_fault+0x38\/0x54<br \/>\n[    9.270183][ T3222]  do_mem_abort+0x54\/0xac<br \/>\n[    9.270208][ T3222]  el0_da+0x44\/0x7c<br \/>\n[    9.270227][ T3222]  el0t_64_sync_handler+0x5c\/0xf4<br \/>\n[    9.270253][ T3222]  el0t_64_sync+0x1bc\/0x1c0<\/p>\n<p>EROFS may encounter above panic when enabling file-backed mount w\/<br \/>\ndirectio mount option, the root cause is it may suffer UAF in below<br \/>\nrace condition:<\/p>\n<p>&#8211; z_erofs_read_folio                          wq s_dio_done_wq<br \/>\n &#8211; z_erofs_runqueue<br \/>\n  &#8211; erofs_fileio_submit_bio<br \/>\n   &#8211; erofs_fileio_rq_submit<br \/>\n    &#8211; vfs_iocb_iter_read<br \/>\n     &#8211; ext4_file_read_iter<br \/>\n      &#8211; ext4_dio_read_iter<br \/>\n       &#8211; iomap_dio_rw<br \/>\n       : bio was submitted and return -EIOCBQUEUED<br \/>\n                                              &#8211; dio_aio_complete_work<br \/>\n                                               &#8211; dio_complete<br \/>\n                                                &#8211; dio-&gt;iocb-&gt;ki_complete (erofs_fileio_ki_complete())<br \/>\n                                                 &#8211; kfree(rq)<br \/>\n                                                 : it frees iocb, iocb.ki_filp can be UAF in file_accessed().<br \/>\n       &#8211; file_accessed<br \/>\n       : access NULL file point<\/p>\n<p>Introduce a reference count in struct erofs_fileio_rq, and initialize it<br \/>\nas two, both erofs_fileio_ki_complete() and erofs_fileio_rq_submit() will<br \/>\ndecrease reference count, the last one decreasing the reference count<br \/>\nto zero will free rq.<\/p>\n<p>Severity: 0.0 | NA<\/p>\n<p>Visit the link for more details, such as CVSS details, affected products, timeline, and more&#8230;\u00a0<\/p>\n","protected":false},"excerpt":{"rendered":"<p>CVE ID : CVE-2026-23224 Published : Feb. 18, 2026, 4:22 p.m. | 37\u00a0minutes ago Description : In the Linux kernel, the following vulnerability has been resolved: erofs: fix UAF issue for file-backed mounts w\/ directio option [ 9.269940][ T3222] Call trace: [ 9.269948][ T3222] ext4_file_read_iter+0xac\/0x108 [ 9.269979][ T3222] vfs_iocb_iter_read+0xac\/0x198 [ 9.269993][ T3222] erofs_fileio_rq_submit+0x12c\/0x180 [ 9.270008][ &hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26],"tags":[],"class_list":["post-77387","post","type-post","status-publish","format-standard","hentry","category-vulnerability"],"_links":{"self":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/posts\/77387","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/comments?post=77387"}],"version-history":[{"count":0,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/posts\/77387\/revisions"}],"wp:attachment":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/media?parent=77387"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/categories?post=77387"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/tags?post=77387"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}