В ядре Linux устранена следующая уязвимость: nilfs2: исправлена зависание в nilfs_lookup_dirty_data_buffers(). Syzbot сообщил о проблеме за…
В ядре Linux устранена следующая уязвимость: nilfs2: исправлена зависание в nilfs_lookup_dirty_data_buffers(). Syzbot сообщил о проблеме зависания в migrate_pages_batch(), вызванной mbind() и nilfs_lookup_dirty_data_buffers(), вызванной в записи журнала nilfs2. В то время как migrate_pages_batch() блокирует folio и ожидает завершения обратной записи, поток записи журнала, который должен завершить обратную запись, подхватывает folio, записываемый обратно, в nilfs_lookup_dirty_data_buffers(), который он вызывает для последующего создания журнала, и пытается заблокировать folio. Таким образом, возникает взаимоблокировка. Прежде всего, неожиданно, что folios/pages в середине обратной записи будут обновлены и станут грязными. Nilfs2 добавляет контрольную сумму для проверки достоверности записываемого журнала и использует ее для восстановления при монтировании, поэтому изменения данных во время обратной записи подавляются. Поскольку это сломано, некорректное завершение работы потенциально может привести к сбою восстановления. Расследование показало, что основной причиной является то, что ожидание завершения обратной записи в nilfs_page_mkwrite() является условным, и если резервное устройство не требует стабильной записи, данные могут быть изменены без ожидания. Исправьте эти проблемы, заставив nilfs_page_mkwrite() ждать завершения обратной записи независимо от требований стабильной записи резервного устройства.
Продукт не реализует или некорректно реализует операции выравнивания износа в энергонезависимых памятях с ограниченным числом циклов записи.
https://cwe.mitre.org/data/definitions/1246.html →Открыть в коллекции CWE →Программный продукт не обеспечивает надлежащего захвата или освобождения блокировки ресурса, что приводит к непредвиденным изменениям состояния ресурса и нештатному поведению.
https://cwe.mitre.org/data/definitions/667.html →Открыть в коллекции CWE →Злоумышленник провоцирует и эксплуатирует состояние взаимоблокировки в целевом программном обеспечении, чтобы вызвать отказ в обслуживании. Взаимоблокировка может возникнуть, когда два или более конкурирующих действия ожидают завершения друг друга и в итоге ни одно из них не завершается. Состояния взаимоблокировки бывает сложно обнаружить.
https://capec.mitre.org/data/definitions/25.html →Открыть в коллекции CAPEC →Злоумышленник нацеливается на состояние гонки, возникающее когда несколько процессов одновременно обращаются к одному ресурсу и манипулируют им, а результат выполнения зависит от конкретного порядка этих обращений. Злоумышленник может эксплуатировать состояние гонки, «участвуя в гонке»: изменяя ресурс и нарушая нормальный порядок выполнения. Например, состояние гонки может возникнуть при обращении к файлу: злоумышленник может обмануть систему, подменив исходный файл своей версией и заставив систему прочитать вредоносный файл.
https://capec.mitre.org/data/definitions/26.html →Открыть в коллекции CAPEC →Данная атака эксплуатирует использование символических ссылок (Symlink) для записи в конфиденциальные файлы. Злоумышленник может создать символическую ссылку на целевой файл, к которому у него нет прямого доступа. Когда привилегированная программа пытается создать временный файл с тем же именем, что и символическая ссылка, она фактически записывает данные в целевой файл, на который указывает символическая ссылка злоумышленника. Если злоумышленник может поместить вредоносное содержимое во временный файл, он тем самым запишет его в конфиденциальный файл через символическую ссылку. Состояние гонки возникает потому, что система проверяет существование временного файла, а затем создаёт его. Злоумышленник, как правило, создаёт символическую ссылку в промежутке между проверкой и созданием временного файла.
https://capec.mitre.org/data/definitions/27.html →Открыть в коллекции CAPEC →Злоумышленник использует легитимные возможности приложения таким образом, что это оказывает негативное техническое воздействие. Функциональность системы не изменяется и не модифицируется, но применяется способом, не предусмотренным изначально. Нередко это достигается посредством чрезмерного использования определённой функциональности или эксплуатации функциональности с конструктивными недостатками, позволяющими злоумышленнику получать доступ к несанкционированным конфиденциальным данным.
https://capec.mitre.org/data/definitions/212.html →Открыть в коллекции CAPEC →| Продукт | Вендор | Статус |
|---|---|---|
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux-5.15 | Отслеживается | |
| linux-6.1 | Отслеживается | |
| linux-6.1 | Отслеживается | |
| linux-6.1 | Отслеживается | |
| linux-allwinner-5.19 | Отслеживается |