{"id":"CVE-2025-68264","revision":"cd16391e868f44a2b3c0f28ac1cad21a","records":[{"revision":"cd16391e868f44a2b3c0f28ac1cad21a","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2025-68264","aliases":[],"title":"ext4: refresh inline data size before write operations","description":"In the Linux kernel, the following vulnerability has been resolved:\n\next4: refresh inline data size before write operations\n\nThe cached ei->i_inline_size can become stale between the initial size\ncheck and when ext4_update_inline_data()/ext4_create_inline_data() use\nit. Although ext4_get_max_inline_size() reads the correct value at the\ntime of the check, concurrent xattr operations can modify i_inline_size\nbefore ext4_write_lock_xattr() is acquired.\n\nThis causes ext4_update_inline_data() and ext4_create_inline_data() to\nwork with stale capacity values, leading to a BUG_ON() crash in\next4_write_inline_data():\n\n  kernel BUG at fs/ext4/inline.c:1331!\n  BUG_ON(pos + len > EXT4_I(inode)->i_inline_size);\n\nThe race window:\n1. ext4_get_max_inline_size() reads i_inline_size = 60 (correct)\n2. Size check passes for 50-byte write\n3. [Another thread adds xattr, i_inline_size changes to 40]\n4. ext4_write_lock_xattr() acquires lock\n5. ext4_update_inline_data() uses stale i_inline_size = 60\n6. Attempts to write 50 bytes but only 40 bytes actually available\n7. BUG_ON() triggers\n\nFix this by recalculating i_inline_size via ext4_find_inline_data_nolock()\nimmediately after acquiring xattr_sem. This ensures ext4_update_inline_data()\nand ext4_create_inline_data() work with current values that are protected\nfrom concurrent modifications.\n\nThis is similar to commit a54c4613dac1 (\"ext4: fix race writing to an\ninline_data file while its xattrs are changing\") which fixed i_inline_off\nstaleness. This patch addresses the related i_inline_size staleness issue.","state":0,"publishedAt":"2025-12-16T14:45:06.268+00:00","modifiedAt":"2026-10-15T01:09:44.093+00:00","affected":[{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"fs/ext4/inline.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"67cf5b09a46f72e048501b84996f2f77bc42e947\",\n                            \"lessThan\": \"54ab81ae5f218452e64470cd8a8139bb5880fe2b\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"67cf5b09a46f72e048501b84996f2f77bc42e947\",\n                            \"lessThan\": \"43bf001f0fe4e59bba47c897505222f959f4a1cc\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"67cf5b09a46f72e048501b84996f2f77bc42e947\",\n                            \"lessThan\": \"89c2c41f0974e530b2d032c3695095aa0559adb1\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"67cf5b09a46f72e048501b84996f2f77bc42e947\",\n                            \"lessThan\": \"1687a055a555347b002f406676a1aaae4668f242\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"67cf5b09a46f72e048501b84996f2f77bc42e947\",\n                            \"lessThan\": \"210ac60a86a3ad2c76ae60e0dc71c34af6e7ea0b\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"67cf5b09a46f72e048501b84996f2f77bc42e947\",\n                            \"lessThan\": \"ca43ea29b4c4d2764aec8a26cffcfb677a871e6e\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"67cf5b09a46f72e048501b84996f2f77bc42e947\",\n                            \"lessThan\": \"58df743faf21ceb1880f930aa5dd428e2a5e415d\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"67cf5b09a46f72e048501b84996f2f77bc42e947\",\n                            \"lessThan\": \"892e1cf17555735e9d021ab036c36bc7b58b0e3b\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"affected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"fs/ext4/inline.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"3.8\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \"0\",\n                            \"lessThan\": \"3.8\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.10.248\",\n                            \"lessThanOrEqual\": \"5.10.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.15.198\",\n                            \"lessThanOrEqual\": \"5.15.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.1.160\",\n                            \"lessThanOrEqual\": \"6.1.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.6.120\",\n                            \"lessThanOrEqual\": \"6.6.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.12.62\",\n                            \"lessThanOrEqual\": \"6.12.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.17.12\",\n                            \"lessThanOrEqual\": \"6.17.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.18.1\",\n                            \"lessThanOrEqual\": \"6.18.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.19\",\n                            \"lessThanOrEqual\": \"*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"original_commit_for_fix\"\n                        }\n                    ]\n                }"}],"metrics":[],"references":["https://git.kernel.org/stable/c/54ab81ae5f218452e64470cd8a8139bb5880fe2b","https://git.kernel.org/stable/c/43bf001f0fe4e59bba47c897505222f959f4a1cc","https://git.kernel.org/stable/c/89c2c41f0974e530b2d032c3695095aa0559adb1","https://git.kernel.org/stable/c/1687a055a555347b002f406676a1aaae4668f242","https://git.kernel.org/stable/c/210ac60a86a3ad2c76ae60e0dc71c34af6e7ea0b","https://git.kernel.org/stable/c/ca43ea29b4c4d2764aec8a26cffcfb677a871e6e","https://git.kernel.org/stable/c/58df743faf21ceb1880f930aa5dd428e2a5e415d","https://git.kernel.org/stable/c/892e1cf17555735e9d021ab036c36bc7b58b0e3b"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2025-68264","license":"CVE Program Terms of Use","key":"cve-program:CVE-2025-68264","identifiers":["CVE-2025-68264"]},"retained":false,"historicalAffected":[]}],"coverage":[]}