Chyba zabezpečení v libinput, která vede ke spuštění kódu, když je připojeno škodlivé zařízení

Knihovna libinput 1.20.1, která poskytuje jednotný vstupní zásobník, který vám umožňuje používat stejné prostředky pro zpracování událostí ze vstupních zařízení v prostředích založených na Wayland a X.Org, eliminovala zranitelnost (CVE-2022-1215), která umožňuje organizovat provádění vašeho kódu při připojení speciálně upraveného/emulovaného vstupního zařízení k systému. Problém se projevuje v prostředích založených na X.Org a Wayland a lze jej zneužít jak při lokálním připojování zařízení, tak při manipulaci se zařízeními s rozhraním Bluetooth. Pokud je X server spuštěn jako root, chyba zabezpečení umožňuje spouštění kódu se zvýšenými oprávněními.

Problém je způsoben chybou formátování řádku v kódu odpovědném za výstup informací o připojení zařízení do protokolu. Zejména funkce evdev_log_msg pomocí volání snprintf změnila původní formátovací řetězec záznamu protokolu, ke kterému byl přidán název zařízení jako předpona. Dále byl upravený řetězec předán funkci log_msg_va, která zase používala funkci printf. První argument pro printf, na který byla použita analýza formátových znaků, tedy obsahoval nevalidovaná externí data a útočník mohl iniciovat poškození zásobníku tím, že by zařízení vrátilo název obsahující znaky ve formátu řetězce (například „Zlo %s“) .

Zdroj: opennet.ru

Přidat komentář