A libinput sérülékenysége, amely rosszindulatú eszköz csatlakoztatásakor kódfuttatáshoz vezet

A libinput 1.20.1 könyvtár, amely egységes beviteli veret biztosít, amely lehetővé teszi, hogy ugyanazokat az eszközöket használja a beviteli eszközökről származó események feldolgozására Wayland és X.Org alapú környezetekben, megszüntette a biztonsági rést (CVE-2022-1215), amely lehetővé teszi a kód végrehajtásának megszervezését, amikor speciálisan módosított/emulált beviteli eszközt csatlakoztat a rendszerhez. A probléma az X.Org és Wayland alapú környezetekben jelentkezik, és mind az eszközök helyi csatlakoztatásakor, mind a Bluetooth interfésszel rendelkező eszközök manipulálásakor kihasználható. Ha az X szerver rootként fut, a biztonsági rés lehetővé teszi a kód futtatását emelt szintű jogosultságokkal.

A problémát egy sor formázási hiba okozza a kódban, amely felelős az eszköz csatlakozási információinak a naplóba történő kiadásáért. Különösen az evdev_log_msg függvény az snprintf meghívásával megváltoztatta a naplóbejegyzés eredeti formátumú karakterláncát, amelyhez az eszköznév előtagként került hozzáadásra. Ezután a módosított karakterláncot átadtuk a log_msg_va függvénynek, amely viszont a printf függvényt használta. Így a printf első argumentuma, amelyre a formátumkarakterelemzést alkalmazták, nem érvényesített külső adatokat tartalmazott, és a támadó veremsérülést kezdeményezhet, ha az eszköz karakterlánc-formátumú karaktereket tartalmazó nevet ad vissza (például "Gonosz %s"). .

Forrás: opennet.ru

Hozzászólás