CVE-2026-80809
Description
In the Linux kernel, the following vulnerability has been resolved: ocfs2: fix missing metadata reservation for large xattrs [BUG] lsetxattr() panics the kernel when setting a large xattr value on a fragmented filesystem where the file already has an external xattr block. [CAUSE] ocfs2_calc_xattr_set_need() never reserves metadata blocks for a new xattr value's extent tree when the file already has an external xattr block. The not_found path leaves meta_add at zero, so meta_ac is NULL when ocfs2_xattr_extend_allocation() runs. A new value root has room for a single extent record. On a fragmented filesystem, the allocator cannot satisfy the xattr value in one contiguous run, so each non-contiguous run requires its own extent record. When the value root's extent list is full and meta_ac is NULL, ocfs2_add_clusters_in_btree() returns RESTART_META, and ocfs2_xattr_extend_allocation() hits BUG_ON(why == RESTART_META). [FIX] The case where no xattr block exists yet already calls ocfs2_extend_meta_needed(&def_xv.xv.xr_list) to reserve value tree metadata. Add the same reservation to the case where an xattr block already exists, making the two cases consistent. Replace the BUG_ON with a -ENOSPC return so that if RESTART_META is returned despite the reservation, the error propagates to userspace instead of panicking the kernel.
How to fix
- Linux Linux743ac908282ac97ef6e73ac3a92df2cc8ecb7479, 04ba24bce61c917b5b3009f0db470cbb72e26a0d, b4663405ae29d36011cd712d243456f3f9ab700d, 6a009f1e61b11d9e23d3c5aa1dacfb010945da45, b9eb5c9fdd81d82976d4d5be2b2458eb7d7e46ec, 6176313622e34fa3e2b66b9d0682d1e1c6b365c5, a3ccb57086dd7652d5ecb826486144198a98a8e9, 50f0cbec45b0f3fd7e1263d01916518dbf31eb3f, 0cdc7dde00ec63ac714271fa8b2918d630b8da1a, 2.6.35 or later
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| Linux Linux | a78f9f4668949a6588b8872f162e86685c63d023 ≤ v < 743ac908282ac97ef6e73ac3a92df2cc8ecb7479, a78f9f4668949a6588b8872f162e86685c63d023 ≤ v < 04ba24bce61c917b5b3009f0db470cbb72e26a0d, a78f9f4668949a6588b8872f162e86685c63d023 ≤ v < b4663405ae29d36011cd712d243456f3f9ab700d, a78f9f4668949a6588b8872f162e86685c63d023 ≤ v < 6a009f1e61b11d9e23d3c5aa1dacfb010945da45, a78f9f4668949a6588b8872f162e86685c63d023 ≤ v < b9eb5c9fdd81d82976d4d5be2b2458eb7d7e46ec, a78f9f4668949a6588b8872f162e86685c63d023 ≤ v < 6176313622e34fa3e2b66b9d0682d1e1c6b365c5, a78f9f4668949a6588b8872f162e86685c63d023 ≤ v < a3ccb57086dd7652d5ecb826486144198a98a8e9, a78f9f4668949a6588b8872f162e86685c63d023 ≤ v < 50f0cbec45b0f3fd7e1263d01916518dbf31eb3f, a78f9f4668949a6588b8872f162e86685c63d023 ≤ v < 0cdc7dde00ec63ac714271fa8b2918d630b8da1a, 92f61d8a31e270f9391e7bcc0ac638bd4262a8e0, 2.6.34.2 ≤ v < 2.6.35, 2.6.35 | 743ac908282ac97ef6e73ac3a92df2cc8ecb7479, 04ba24bce61c917b5b3009f0db470cbb72e26a0d, b4663405ae29d36011cd712d243456f3f9ab700d, 6a009f1e61b11d9e23d3c5aa1dacfb010945da45, b9eb5c9fdd81d82976d4d5be2b2458eb7d7e46ec, 6176313622e34fa3e2b66b9d0682d1e1c6b365c5, a3ccb57086dd7652d5ecb826486144198a98a8e9, 50f0cbec45b0f3fd7e1263d01916518dbf31eb3f, 0cdc7dde00ec63ac714271fa8b2918d630b8da1a, 2.6.35 |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.