В ядре Linux устранена следующая уязвимость:
btrfs: свободный узел сопоставления при дублированной корневой вставке перемещения
__add_reloc_root() выделяет Mapping_node перед вставкой его в
rc->reloc_root_tree. Если rb_simple_insert() находит существующую запись, она
возвращает существующий rb_node и оставляет вновь выделенный узел несвязанным. Затем путь ошибки возвращает -EEXIST без освобождения нового узла.
Поскольку
узел никогда не был вставлен в reloc_root_tree, последующая очистка в
put_reloc_control() также не может его найти. Освободите вновь выделенный узел перед возвратом -EEXIST. Вызывающие в настоящее время утверждают, что -EEXIST не должно происходить, так что это
защитная очистка для неожиданного дублированного пути вставки.
Если путь когда-либо достигнутое, локальное выделение все равно должно быть освобождено.
Показать оригинальное описание (EN)
In the Linux kernel, the following vulnerability has been resolved: btrfs: free mapping node on duplicate reloc root insert __add_reloc_root() allocates a mapping_node before inserting it into rc->reloc_root_tree. If rb_simple_insert() finds an existing entry, it returns the existing rb_node and leaves the newly allocated node unlinked. The error path then returns -EEXIST without freeing the new node. Since the node was never inserted into reloc_root_tree, the later cleanup in put_reloc_control() cannot find it either. Free the newly allocated node before returning -EEXIST. The callers currently assert that -EEXIST should not happen, so this is a defensive cleanup for an unexpected duplicate insert path. If the path is ever reached, the local allocation should still be released.
Уязвимые продукты 5
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
|
5.13
|
6.6.148
|
|
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
|
5.13
|
6.12.101
|
|
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
|
5.13
|
6.18.42
|
|
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
|
5.13
|
7.1.6
|
|
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
|
5.13
|
7.2-rc5
|