ocfs2: validate directory-index entry counts when reading metadata
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Partial Red Hat: 1 without a fix
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and Red Hat.
Summary
In the Linux kernel, the following vulnerability has been resolved: ocfs2: validate directory-index entry counts when reading metadata ocfs2_validate_dx_leaf() and ocfs2_validate_dx_root() check the ECC and signature of an indexed-directory block before it reaches higher-level callers, but neither validator bounds the ocfs2_dx_entry_list counts against the capacity of the block that holds them. ocfs2_dx_dir_search() then walks for (i = 0; i < le16_to_cpu(entry_list->de_num_used); i++) dx_entry = &entry_list->de_entries[i]; over de_num_used entries with no bounds check. entry_list is either dx_leaf->dl_list (from ocfs2_read_dx_leaf) or, for an inline root, dx_root->dr_entries. A crafted on-disk image can set de_num_used (and de_count, which is the __counted_by_le() bound of de_entries) to 0xffff and make the walk read far past the end of the 4KB metadata block, giving a slab out-of-bounds read reachable from any path lookup, stat() or open() on an indexed directory once the image is mounted. Commit 775c17386a6f ("ocfs2: validate dx_root extent list fields during block read") already bounds dr_list for the non-inline dx_root, but left the inline dr_entries path and the dx_leaf dl_list unchecked. Add the same read-time validation for both entry lists: de_count must equal the capacity of the block (ocfs2_dx_entries_per_leaf()/per_root()) and de_num_used must not exceed de_count, rejecting corrupted metadata with -EFSCORRUPTED before ocfs2_dx_dir_search() can walk an out-of-range entry array. de_count is always written as exactly the block capacity when a leaf or inline root is formatted, so the equality check does not reject any valid image. Found by 0sec automated security-research tooling (https://0sec.ai).
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| Linux | Linux | 2.6.30 and later | 5.10.273, 5.15.224, 6.1.191, 6.6.160, 6.12.111, 6.18.51, 7.2.4, 7.3 | Patch available | CNA |
- Linux VendorLinux Affected 2.6.30 and later Fixed in 5.10.273, 5.15.224, 6.1.191, 6.6.160, 6.12.111, 6.18.51, 7.2.4, 7.3 Patch available CNA
Remediation
- Fix · CNA Linux (Linux) Fixed in 5.10.273, 5.15.224, 6.1.191, 6.6.160, 6.12.111, 6.18.51, 7.2.4, 7.3
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat OpenShift Container Platform 5 | Affected | No fix yet: Fix deferred |
Not affected: 6 products
- Red Hat Enterprise Linux 10
- Red Hat Enterprise Linux 6
- Red Hat Enterprise Linux 7
- Red Hat Enterprise Linux 8
- Red Hat Enterprise Linux 9
- Red Hat OpenShift Container Platform 4
Timeline
- 2026-10-02 Threatist record created from CVE-2026-89492
- 2026-10-03 Alias added: GHSA-pgcv-8w9q-57f9
- 2026-10-05 EPSS moved to the below the 50th percentile
- 2026-10-19 Fix available: Linux/[email protected] · CNA
- 2026-10-21 Fix available: Linux/[email protected], Linux/Linux@aad3129b8e915d0ff492bb7517d825d8490cfdd9 · CNA
- 2026-10-21 1 new reference · CNA
- 2026-10-25 EPSS moved to the 50th–90th percentile
- 2026-10-30 Fix available: Linux/Linux@3497aa757788de5d904f41814f1df0b292a8be09, Linux/Linux@3f28574dd59672ac47f3110c9a8ead703ec021c0, Linux/Linux@47b8152ed7709f7ef30b398fb0bfe4b452dd0495 +3 · CNA
- 2026-10-30 3 new references · CNA
- 2026-10-30 Affected versions changed · Red Hat
References
Other 8
- https://git.kernel.org/stable/c/3f28574dd59672ac47f3110c9a8ead703ec021c0
- https://git.kernel.org/stable/c/3497aa757788de5d904f41814f1df0b292a8be09
- https://git.kernel.org/stable/c/47b8152ed7709f7ef30b398fb0bfe4b452dd0495
- https://git.kernel.org/stable/c/aad3129b8e915d0ff492bb7517d825d8490cfdd9
- https://git.kernel.org/stable/c/5e661f55ca8568471fce558effe81cca112f5cb2
- https://git.kernel.org/stable/c/fcfcba8fe17dbf2c8805690b8cc25e32d81249a4
- https://git.kernel.org/stable/c/b8a5c0c32df2c5b685ceef76ac77e37c7e1dc3ed
- https://git.kernel.org/stable/c/bc70726ddad53c7e9a9a85915bf2415b0d4f42f9
More Linux vulnerabilities
- TI-2025-26358 tls: fix handling of zero-length records on the rx_list KEVCVSS 3.1CRITICAL 9.8
- TI-2026-38352 netfilter: bridge: make ebt_snat ARP rewrite writable KEVCVSS 3.1HIGH 8.8
- TI-2021-02452 Incorrect authorization in Ubuntu linux kernel KEVCVSS 3.1HIGH 8.8
- TI-2013-05264 The (1) get_user and (2) put_user API functions in the Linux kernel before 3.5.5 on the… KEVCVSS 3.1HIGH 8.8
- TI-2022-00125 Integer overflow in kernel KEVCVSS 3.1HIGH 8.4
- TI-2013-01864 The perf_swevent_init function in kernel/events/core.c in the Linux kernel before 3.8.9… KEVCVSS 3.1HIGH 8.4
Sources
- CVE-2026-89492 · CVE Program
- CVE-2026-89492 · NVD
- FIRST EPSS
- GHSA-pgcv-8w9q-57f9 · GitHub Advisory Database · CC BY 4.0
- CVE-2026-89492 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences