cveboard RSS feed

CVE-2025-38100

CVE.org · Published

Historical CVEsJSONAI instructions

Record status
Published
Identifier year (not publication year)
2025
Source publication
Source updated
Imported by cveboard
Source snapshot
cve_2026-10-24_midnight_baseline ·

Plain text

CNA source text (English)

x86/iopl: Cure TIF_IO_BITMAP inconsistencies

In the Linux kernel, the following vulnerability has been resolved: x86/iopl: Cure TIF_IO_BITMAP inconsistencies io_bitmap_exit() is invoked from exit_thread() when a task exists or when a fork fails. In the latter case the exit_thread() cleans up resources which were allocated during fork(). io_bitmap_exit() invokes task_update_io_bitmap(), which in turn ends up in tss_update_io_bitmap(). tss_update_io_bitmap() operates on the current task. If current has TIF_IO_BITMAP set, but no bitmap installed, tss_update_io_bitmap() crashes with a NULL pointer dereference. There are two issues, which lead to that problem: 1) io_bitmap_exit() should not invoke task_update_io_bitmap() when the task, which is cleaned up, is not the current task. That's a clear indicator for a cleanup after a failed fork(). 2) A task should not have TIF_IO_BITMAP set and neither a bitmap installed nor IOPL emulation level 3 activated. This happens when a kernel thread is created in the context of a user space thread, which has TIF_IO_BITMAP set as the thread flags are copied and the IO bitmap pointer is cleared. Other than in the failed fork() case this has no impact because kernel threads including IO workers never return to user space and therefore never invoke tss_update_io_bitmap(). Cure this by adding the missing cleanups and checks: 1) Prevent io_bitmap_exit() to invoke task_update_io_bitmap() if the to be cleaned up task is not the current task. 2) Clear TIF_IO_BITMAP in copy_thread() unconditionally. For user space forks it is set later, when the IO bitmap is inherited in io_bitmap_share(). For paranoia sake, add a warning into tss_update_io_bitmap() to catch the case, when that code is invoked with inconsistent state.

Scoped product and version facts

Fix information unknown; no fixed version is derived here. Missing information does not prove that no fix exists.

Exploitation unknown; this catalogue does not assess exploitation.

Linux

Vendor
Linux
Product
Linux
Platforms
Unknown
Default status
unaffected
Linux · Scoped product and version facts
Version (version)Status (status)Version scheme (versionType)Exclusive end (lessThan)Inclusive end (lessThanOrEqual)Status changes (at → status)
ea5f1cd7ab494f65f50f338299eabb40ad6a1767affectedgitd64b7b05a827f98d068f412969eef65489b0cf03UnavailableNone listed
ea5f1cd7ab494f65f50f338299eabb40ad6a1767affectedgit2dace5e016c991424a3dc6e83b1ae5dca8992d08UnavailableNone listed
ea5f1cd7ab494f65f50f338299eabb40ad6a1767affectedgitaa5ce1485562f20235b4c759eee5ab0c41d2c220UnavailableNone listed
ea5f1cd7ab494f65f50f338299eabb40ad6a1767affectedgit2cfcbe1554c119402e7382de974c26b0549899feUnavailableNone listed
ea5f1cd7ab494f65f50f338299eabb40ad6a1767affectedgitb3b3b6366dc8eb5b22edba9adc4bff3cdacfd64cUnavailableNone listed
ea5f1cd7ab494f65f50f338299eabb40ad6a1767affectedgit73cfcc8445585b8af7e18be3c9246b851fdf336cUnavailableNone listed
ea5f1cd7ab494f65f50f338299eabb40ad6a1767affectedgit8b68e978718f14fdcb080c2a7791c52a0d09bc6dUnavailableNone listed

Linux

Vendor
Linux
Product
Linux
Platforms
Unknown
Default status
affected
Linux · Scoped product and version facts
Version (version)Status (status)Version scheme (versionType)Exclusive end (lessThan)Inclusive end (lessThanOrEqual)Status changes (at → status)
5.5affectedUnavailableUnavailableUnavailableNone listed
0unaffectedsemver5.5UnavailableNone listed
5.10.239unaffectedsemverUnavailable5.10.*None listed
5.15.186unaffectedsemverUnavailable5.15.*None listed
6.1.142unaffectedsemverUnavailable6.1.*None listed
6.6.94unaffectedsemverUnavailable6.6.*None listed
6.12.34unaffectedsemverUnavailable6.12.*None listed
6.15.3unaffectedsemverUnavailable6.15.*None listed
6.16unaffectedoriginal_commit_for_fixUnavailable*None listed