A flaw was found in Linux Kernel because access to the global variable fg_console is not properly synchronized leading to a use after free in con_font_op.
The product utilizes multiple threads or processes to allow temporary access to a shared resource that can only be exclusive to one process at a time, but it does not properly synchronize these actions, which might cause simultaneous accesses of this resource by multiple threads or processes.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Linux_kernel | Linux | * | 4.4.242 (excluding) |
Linux_kernel | Linux | 4.5 (including) | 4.9.242 (excluding) |
Linux_kernel | Linux | 4.10 (including) | 4.14.204 (excluding) |
Linux_kernel | Linux | 4.15 (including) | 4.19.155 (excluding) |
Linux_kernel | Linux | 4.20 (including) | 5.4.75 (excluding) |
Linux_kernel | Linux | 5.5 (including) | 5.9.5 (excluding) |
Synchronization refers to a variety of behaviors and mechanisms that allow two or more independently-operating processes or threads to ensure that they operate on shared resources in predictable ways that do not interfere with each other. Some shared resource operations cannot be executed atomically; that is, multiple steps must be guaranteed to execute sequentially, without any interference by other processes. Synchronization mechanisms vary widely, but they may include locking, mutexes, and semaphores. When a multi-step operation on a shared resource cannot be guaranteed to execute independent of interference, then the resulting behavior can be unpredictable. Improper synchronization could lead to data or memory corruption, denial of service, etc.