В ядре Linux устранена следующая уязвимость:
bpf: отклонять эксклюзивные карты как внутренние карты в карте-в-карте. Эксклюзивная карта (созданная с помощью excl_prog_hash) привязана к одному
программа по хешу: check_map_prog_compatibility() отказывается загружать какие-либо
программа, дайджест которой не соответствует карте->excl_prog_sha. Этот чек
работает только для карт, на которые программа ссылается напрямую, т. е. ее Used_maps.
Карта, полученная во время выполнения через карту карт, никогда не находится в Used_maps.
и bpf_map_meta_equal() не учитывает excl_prog_sha, поэтому
эксклюзивную карту можно вставить в неэксклюзивную внешнюю карту и
затем был найден и мутирован несвязанной программой, минуя
гарантия эксклюзивности. Для подписанного загрузчика это отменяет проверку эксклюзивности карты метаданных.
добавлено в подписанный загрузчик: кэшированная карта->sha[] проверяется на соответствие
подписанный хэш, в то время как другая программа на враждебном хосте перезаписывает
содержимое замороженной карты через внешнюю карту.
Показать оригинальное описание (EN)
In the Linux kernel, the following vulnerability has been resolved: bpf: Reject exclusive maps as inner maps in map-in-map An exclusive map (created with excl_prog_hash) is bound to a single program by hash: check_map_prog_compatibility() refuses to load any program whose digest does not match map->excl_prog_sha. That check only runs for maps a program references directly, i.e. its used_maps. A map reached at runtime through a map-of-maps is never in used_maps, and bpf_map_meta_equal() does not consider excl_prog_sha, so an exclusive map can be inserted into a non-exclusive outer map and then looked up and mutated by an unrelated program, bypassing the exclusivity guarantee. For the signed loader this defeats the metadata map exclusivity check added in the signed loader: the cached map->sha[] is validated against the signed hash while another program on a hostile host rewrites the frozen map's contents through the outer map.
Характеристики атаки
Последствия
Строка CVSS v3.1