
A race condition was found in the way the Linux kernel's memory subsystem handled the copy-on-write (COW) breakage of private read-only memory mappings. An unprivileged local user could use this flaw to gain write access to otherwise read-only memory mappings and thus increase their privileges on the system.
Уязвимость присутствует в коде диспетчера виртуальной памяти ядра Linux, который отвечает за реализацию известного механизма управления общей mapped-памятью под названием copy-on-write (копирование при записи). При одновременной попытке доступа нескольких клиентов к этому коду может возникнуть состояние гонки (race condition), в результате чего поток получит доступ на запись к тем страницам памяти, которые доступны только для чтения.
Механизм копирования при записи используется практически во всех современных ОС. В общем случае, он позволяет значительно экономить время загрузки кода и данных, которые используются в системе многими процессами, за счет размещения их в памяти в единственном экземпляре с присваиванием им специального атрибута доступа «copy-on-write». Таким образом, когда поток захочет что-то записать на страницу памяти с таким атрибутом, ОС заметит это и выделит потоку для этого приватную страницу физической памяти, скопирует на нее оригинальные данные и позволит их модифицировать. Прочие процессы будут видеть исходные данные на странице, в то время как указанный процесс будет иметь доступ к модифицированным данным.
Поделиться с друзьями
Комментарии (5)
gezakht
21.10.2016 18:37+8Уже было на хабре: https://habrahabr.ru/company/defconru/blog/313276/
Kondra007
22.10.2016 14:09+2Так-то да, но суть той новости в том, что уязвимость нашли, а этой – что исправили.
ktotomskru
24.10.2016 22:16Red Hat пока не исправил
https://access.redhat.com/security/vulnerabilities/2706661
FisHlaBsoMAN
Ядро 4.9-rc1 с kernel.org с дырой. Уязвимость пашет