{"id":"CVE-2026-72367","summary":"iomap: guard io_size EOF trim against concurrent truncate underflow","details":"In the Linux kernel, the following vulnerability has been resolved:\n\niomap: guard io_size EOF trim against concurrent truncate underflow\n\niomap: fix zero padding data issue in concurrent append writes\nchanged ioend accounting so that io_size tracks only valid data\nwithin EOF.  This trims io_size when a writeback range extends\npast end_pos:\n\n    ioend-\u003eio_size += map_len;\n    if (ioend-\u003eio_offset + ioend-\u003eio_size \u003e end_pos)\n        ioend-\u003eio_size = end_pos - ioend-\u003eio_offset;\n\nHowever, if end_pos ends up below ioend-\u003eio_offset, the subtraction\nbecomes negative and is stored in size_t io_size, causing an unsigned\nwrap to a huge value.  This can happen when writeback continues past\nbyte-level EOF up to a block-aligned range, or when a concurrent\ntruncate shrinks the file after end_pos was sampled in\niomap_writeback_handle_eof().\n\nA wrapped io_size can mislead append detection and corrupt\ncompletion-time size handling, since filesystem end_io paths consume\nio_size for decisions such as on-disk EOF updates and unwritten/COW\ncompletion ranges.\n\nFix this by clamping io_size to zero when EOF has moved to or before\nthe ioend start offset.  This preserves the original intent of trimming\nio_size to valid in-EOF data while avoiding the underflow.","modified":"2026-10-08T02:51:49.819358640Z","published":"2026-08-15T05:56:04.669Z","database_specific":{"cna_assigner":"Linux","osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/72xxx/CVE-2026-72367.json"},"references":[{"type":"WEB","url":"https://git.kernel.org/stable/c/1f38f65bf965fce9aa159d45c5347538f56c5973"},{"type":"WEB","url":"https://git.kernel.org/stable/c/55ec50d046c03b3724741957f7b007856e36dbe7"},{"type":"WEB","url":"https://git.kernel.org/stable/c/7f7780abb4c0fdc9a2603aea8e985ff14ee900e0"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/72xxx/CVE-2026-72367.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-72367"},{"type":"PACKAGE","url":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"51d20d1dacbec589d459e11fc88fbca419f84a99"},{"fixed":"1f38f65bf965fce9aa159d45c5347538f56c5973"},{"fixed":"7f7780abb4c0fdc9a2603aea8e985ff14ee900e0"},{"fixed":"55ec50d046c03b3724741957f7b007856e36dbe7"}]},{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"6.12.10"},{"fixed":"6.13"}]},{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"82c59a86a247a8970d353d10f52a37e5564fb137"}]}],"versions":["v6.12.112","v6.12.111","v6.12.110","v6.12.109","v6.12.108","v6.12.107","v6.12.106","v6.12.105","v6.12.104","v6.12.103","v6.12.102","v6.12.101","v6.12.100","v6.12.99","v6.12.98","v6.12.97","v6.12.96","v6.12.95","v6.12.94","v6.12.93","v6.12.92","v6.12.91","v6.12.90","v6.12.89","v6.12.88","v6.12.87","v6.12.86","v6.12.85","v6.12.84","v6.12.83","v6.12.82","v6.12.81","v6.12.80","v6.12.79","v6.12.78","v6.12.77","v6.12.76","v6.12.75","v6.12.74","v6.12.73","v6.12.72","v6.12.71","v6.12.70","v6.12.69","v6.12.68","v6.12.67","v6.12.66","v6.12.65","v6.12.64","v6.12.63","v6.12.62","v6.12.61","v6.12.60","v6.12.59","v6.12.58","v6.12.57","v6.12.56","v6.12.55","v6.12.54","v6.12.53","v6.12.52","v6.12.51","v6.12.50","v6.12.49","v6.12.48","v6.12.47","v6.12.46","v6.12.45","v6.12.44","v6.12.43","v6.12.42","v6.12.41","v6.12.40","v6.12.39","v6.12.38","v6.12.37","v6.12.36","v6.12.35","v6.12.34","v6.12.33","v6.12.32","v6.12.31","v6.12.30","v6.12.29","v6.12.28","v6.12.27","v6.12.26","v6.12.25","v6.12.24","v6.12.23","v6.12.22","v6.12.21","v6.12.20","v6.12.19","v6.12.18","v6.12.17","v6.12.16","v6.12.15","v6.12.14","v6.12.13","v6.12.12","v6.12.11","v6.12.10"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-72367.json"}},{"package":{"name":"Kernel","ecosystem":"Linux"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"6.13.0"},{"fixed":"6.18.40"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.19.0"},{"fixed":"7.1.5"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-72367.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"}]}