Описание
Уязвимость компонентов vfio/type1 ядра операционной системы Linux связана с раскрытием конфиденциальной информации неавторизованному лицу в функции vaddr_get_pfns(). Эксплуатация уязвимости может позволить нарушителю получить доступ к конфиденциальной информации
Вендор
Наименование ПО
Версия ПО
Тип ПО
Операционные системы и аппаратные платформы
Уровень опасности уязвимости
Возможные меры по устранению уязвимости
Статус уязвимости
Наличие эксплойта
Информация об устранении
Ссылки на источники
Идентификаторы других систем описаний уязвимостей
- CVE
3.3 Low
CVSS3
1.7 Low
CVSS2
Связанные уязвимости
In the Linux kernel, the following vulnerability has been resolved: vfio/type1: Unpin zero pages There's currently a reference count leak on the zero page. We increment the reference via pin_user_pages_remote(), but the page is later handled as an invalid/reserved page, therefore it's not accounted against the user and not unpinned by our put_pfn(). Introducing special zero page handling in put_pfn() would resolve the leak, but without accounting of the zero page, a single user could still create enough mappings to generate a reference count overflow. The zero page is always resident, so for our purposes there's no reason to keep it pinned. Therefore, add a loop to walk pages returned from pin_user_pages_remote() and unpin any zero pages.
[REJECTED CVE] A vulnerability was identified in the Linux kernel’s vfio/type1 subsystem, where a reference count leak on the zero page occurred due to improper handling in put_pfn(). The page was pinned via pin_user_pages_remote() but not properly unpinned, leading to a resource exhaustion risk. An attacker could exploit this by repeatedly mapping zero pages, potentially causing a reference count overflow, leading to undefined behavior or system instability.
Rejected reason: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.
In the Linux kernel, the following vulnerability has been resolved: vfio/type1: Unpin zero pages There's currently a reference count leak on the zero page. We increment the reference via pin_user_pages_remote(), but the page is later handled as an invalid/reserved page, therefore it's not accounted against the user and not unpinned by our put_pfn(). Introducing special zero page handling in put_pfn() would resolve the leak, but without accounting of the zero page, a single user could still create enough mappings to generate a reference count overflow. The zero page is always resident, so for our purposes there's no reason to keep it pinned. Therefore, add a loop to walk pages returned from pin_user_pages_remote() and unpin any zero pages.
3.3 Low
CVSS3
1.7 Low
CVSS2