Linux-ի միջուկը մաքրել կոդից, որը փոխում է վարքը X նիշով սկսվող գործընթացների համար

Ջեյսոն Ա. Դոնենֆելդը, VPN WireGuard-ի հեղինակը, ծրագրավորողների ուշադրությունը հրավիրեց Linux միջուկի կոդում առկա կեղտոտ հաքի վրա, որը փոխում է գործընթացների վարքագիծը, որոնց անունները սկսվում են «X» նիշով: Առաջին հայացքից նման շտկումները սովորաբար օգտագործվում են rootkits-ներում՝ գործընթացի կապման մեջ թաքնված բաց թողնելու համար, սակայն վերլուծությունը ցույց տվեց, որ փոփոխությունն ավելացվել է 2019 թվականին՝ ժամանակավորապես շտկելու թռուցիկ օգտագործողների տարածքի համատեղելիության խախտումը՝ համաձայն այն սկզբունքի, որ փոխվում է միջուկը չպետք է խախտի հավելվածների հետ համատեղելիությունը:

Խնդիրներ առաջացան X.Org սերվերում օգտագործվող DDX վարորդի xf86-վիդեո-մոդեգրման մեջ վիդեո ռեժիմի ատոմային փոփոխության մեխանիզմը օգտագործելու փորձի ժամանակ, ինչը պայմանավորված էր «X» նիշով սկսվող գործընթացների հետ կապվածությամբ (ենթադրվում էր. որ լուծումը կիրառվել է «Xorg» գործընթացի վրա): Գրեթե անմիջապես X.Org-ում խնդիրը շտկվեց (ատոմային API-ի օգտագործումը լռելյայն անջատված էր), բայց նրանք մոռացան հեռացնել ժամանակավոր շտկումը միջուկից և փորձեցին ուղարկել ioctl՝ ատոմային կերպով փոխելու ռեժիմը բոլոր գործընթացների համար, որոնք սկսվում են դրանից: «X» նիշը դեռ շարունակում է հանգեցնել սխալի: if (current->comm[0] == 'X' && req->value == 1) { pr_info("broken atomic modeset userspace detected, disableing atomic\n"); վերադարձ -EOPNOTSUPP; }

Source: opennet.ru

Добавить комментарий