CVE-2026-23230
High · 8.8CVSS
8.8
EPSS
0.3%
Published
Feb 18, 2026
CISA due date
—
Cloudanix analysis
A timing problem in how the system tracks open files over a network connection could let someone interfere with file access or corrupt data.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Moderate
- Impact
- Full Compromise
- Component
- OS kernel
- Class
- Race Condition
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Concurrent updates to is_open, has_lease and on_list flags stored in the same bitfield byte of struct cached_fid generate byte read-modify-write operations; an interleaving can cause one CPU's update to restore stale values of the other flags.
Why it matters to the business
SMB client file-handle and lease state can become inconsistent, risking data corruption, leaked file access, or unexpected connection failures on systems using the affected kernel code paths.
How an attack unfolds
An attacker with network access to an SMB server triggers parallel client operations that update the cached_fid bitfield from different CPUs; the resulting RMW race leaves one or more flags in an incorrect state, allowing the attacker to manipulate open/lease semantics.
How to fix it
Upgrade every listed package on Red Hat Enterprise Linux 8.4 AUS to the exact fixed version supplied for that package (for example postgresql-server to 0:13.23-1.module+el8.4.0+23703+6d959a24 and pgaudit to 0:1.5.0-1.module+el8.4.0+8873+b821c30a).
How to confirm the fix worked
Verify installed package versions match or exceed the fixed versions; confirm the kernel no longer uses a single-byte bitfield for the three cached_fid flags by inspecting source or running targeted concurrency tests.
Typical attack path
- Establish concurrent SMB sessions or file operations from the client
- Force the kernel to load the shared bitfield byte on one CPU
- Clear or modify flags on a second CPU
- Complete the RMW store on the first CPU to reintroduce stale bits
- Abuse resulting inconsistent handle or lease state
How to detect it
Search kernel and SMB client logs for unexpected handle or lease state transitions; examine crash dumps or tracepoints around cached_fid updates for evidence of concurrent bitfield modifications.
What your security team should do
- Apply the listed package updates immediately on all RHEL 8.4 AUS systems
- Monitor EPSS trend and re-evaluate if exploit maturity changes
- Add the race-condition pattern to internal kernel code-review checklists
The record
In the Linux kernel, the following vulnerability has been resolved: smb: client: split cached_fid bitfields to avoid shared-byte RMW races is_open, has_lease and on_list are stored in the same bitfield byte in struct cached_fid but are updated in different code paths that may run concurrently. Bitfield assignments generate byte read–modify–write operations (e.g. `orb $mask, addr` on x86_64), so updating one flag can restore stale values of the others. A possible interleaving is: CPU1: load old byte (has_lease=1, on_list=1) CPU2: clear both flags (store 0) CPU1: RMW store (old | IS_OPEN) -> reintroduces cleared bits To avoid this class of races, convert these flags to separate bool fields.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Linux | Kernel | 6.1.0 | 6.1.164 |
| openSUSE:Leap 16.0 | dtb-aarch64 | 0 | 6.12.0-160000.27.1 |
| openSUSE:Leap 16.0 | kernel-64kb | 0 | 6.12.0-160000.27.1 |
| openSUSE:Leap 16.0 | kernel-azure | 0 | 6.12.0-160000.27.1 |
| openSUSE:Leap 16.0 | kernel-default | 0 | 6.12.0-160000.27.1 |
| openSUSE:Leap 16.0 | kernel-default-base | 0 | 6.12.0-160000.27.1.160000.2.8 |
| openSUSE:Leap 16.0 | kernel-docs | 0 | 6.12.0-160000.27.1 |
| openSUSE:Leap 16.0 | kernel-kvmsmall | 0 | 6.12.0-160000.27.1 |
| openSUSE:Leap 16.0 | kernel-obs-build | 0 | 6.12.0-160000.27.1 |
| openSUSE:Leap 16.0 | kernel-obs-qa | 0 | 6.12.0-160000.27.1 |
| openSUSE:Leap 16.0 | kernel-rt | 0 | 6.12.0-160000.27.1 |
| openSUSE:Leap 16.0 | kernel-source | 0 | 6.12.0-160000.27.1 |
| openSUSE:Leap 16.0 | kernel-syms | 0 | 6.12.0-160000.27.1 |
| openSUSE:Leap 16.0 | kernel-zfcpdump | 0 | 6.12.0-160000.27.1 |
| openSUSE:Tumbleweed | kernel-source | 0 | 6.19.8-1.1 |
Related vulnerabilities
- CVE-2026-23226 In the Linux kernel, the following vulnerability has been resolved: ksmbd: add chann_lock… Also affects Kernel
- CVE-2026-23225 In the Linux kernel, the following vulnerability has been resolved: sched/mmcid: Don't… Also affects Kernel
- CVE-2026-23224 In the Linux kernel, the following vulnerability has been resolved: erofs: fix UAF issue… Also affects Kernel
- CVE-2026-23227 In the Linux kernel, the following vulnerability has been resolved: drm/exynos: vidi: use… Also affects Kernel
- CVE-2026-23223 In the Linux kernel, the following vulnerability has been resolved: xfs: fix UAF in… Also affects Kernel
- CVE-2026-23228 In the Linux kernel, the following vulnerability has been resolved: smb: server: fix leak… Also affects Kernel
- CVE-2026-23229 In the Linux kernel, the following vulnerability has been resolved: crypto: virtio - Add… Also affects Kernel
- CVE-2026-23220 In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix infinite… Also affects Kernel