HIGH
f2fs XattrEntry OOB
CVE-2026-80591
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
KernelScan AI2.2LOW
01Description
In the Linux kernel, the following vulnerability has been resolved: f2fs: fix listxattr handling of corrupted xattr entries Validate the xattr entry before reading its fields in f2fs_listxattr(). Return -EFSCORRUPTED when the entry is outside the valid xattr storage area instead of returning a successful partial result.
02KernelScan AI Analysis
Risk summary
A corrupted f2fs filesystem image can trigger an out-of-bounds read when listing extended attributes, because the entry header is read before validating that the entry lies within the valid xattr storage area. Exploitation requires mounting a crafted f2fs image, which needs real root (CAP_SYS_ADMIN in the init namespace). The exposed primitive is a small bounded read; the main impact is potential disclosure of a few bytes of kernel memory and incorrect return of partial results instead of an error.
Vulnerability analysis
When the f2fs extended-attribute listing routine iterates over xattr entries, it reads a field from the entry header to look up a handler before checking whether the entry pointer is still within the valid xattr storage region. On a filesystem image with corrupted xattr metadata, the iterator can advance past the end of the valid area, and the premature header read becomes an out-of-bounds access into the surrounding kernel buffer. The fix moves the boundary validation ahead of any field access so that a corrupted entry is rejected with an error code before its contents are examined, instead of silently returning a partial successful listing. The vulnerable path is reached by mounting an f2fs filesystem image with crafted xattr data and then listing attributes on a file; mounting f2fs requires CAP_SYS_ADMIN in the init namespace, so an unprivileged user cannot trigger this directly.
Lifecycle
03Fix Versions
| Branch | Introduced | Fixed in | Patch commit |
|---|---|---|---|
| 4.14 | 4.14.181 | 4.15 | 7dfac47e4189 |
| 4.19 | 4.19.119 | 4.20 | c8a10f174316 |
| 5.10 | — | 5.10.261 | 2770041f34b5 |
| 5.15 | — | 5.15.212 | 7dd01f7d0291 |
| 5.4 | 5.4.36 | 5.5 | dfa4891c27bc |
| 6.1 | — | 6.1.178 | ec9f79c8d5b2 |
| 6.12 | — | 6.12.96 | 5ef5bc304f23 |
| 6.18 | — | 6.18.39 | — |
| 6.6 | — | 6.6.145 | 3c0dbfecd859 |
| 7.1 | — | 7.1.5 | — |
| mainline | — | 7.2 | — |
| cip/4.19 | — | 4.19.325-cip136 | 75b7b736d4b5 |
| cip/4.19-rt | — | 4.19.325-cip136-rt50 | 75b7b736d4b5 |
| cip/5.10 | — | 5.10.263-cip76 | 7dfac47e4189 |
| cip/5.10-rt | — | 5.10.268-cip77-rt34 | 7dfac47e4189 |
| cip/6.1 | — | 6.1.182-cip59 | dfa4891c27bc |
| cip/6.1-rt | — | 6.1.182-cip59-rt31 | dfa4891c27bc |
| cip/6.12 | — | 6.12.96-cip28 | 7dd01f7d0291 |
04CIP Kernels
State of the newest release of each Civil Infrastructure Platform SLTS tree, from CIP's own fix records.
| CIP tree | State |
|---|---|
| cip/6.12 | Fixed in 6.12.96-cip28 |
| cip/6.1 | Fixed in 6.1.182-cip59 |
| cip/6.1-rt | Fixed in 6.1.182-cip59-rt31 |
| cip/5.10 | Fixed in 5.10.263-cip76 |
| cip/5.10-rt | Fixed in 5.10.268-cip77-rt34 |
| cip/4.19 | Fixed in 4.19.325-cip136 |
| cip/4.19-rt | Fixed in 4.19.325-cip136-rt50 |