GRUB2 బూట్లోడర్లోని రెండు దుర్బలత్వాల గురించి సమాచారం బహిర్గతం చేయబడింది, ఇది ప్రత్యేకంగా రూపొందించిన ఫాంట్లను ఉపయోగిస్తున్నప్పుడు మరియు నిర్దిష్ట యూనికోడ్ సీక్వెన్స్లను ప్రాసెస్ చేస్తున్నప్పుడు కోడ్ అమలుకు దారి తీస్తుంది. UEFI సురక్షిత బూట్ ధృవీకరించబడిన బూట్ మెకానిజంను దాటవేయడానికి దుర్బలత్వాలను ఉపయోగించవచ్చు.
గుర్తించబడిన దుర్బలత్వాలు:
- CVE-2022-2601 - pf2 ఫార్మాట్లో ప్రత్యేకంగా రూపొందించిన ఫాంట్లను ప్రాసెస్ చేస్తున్నప్పుడు grub_font_construct_glyph() ఫంక్షన్లో బఫర్ ఓవర్ఫ్లో, ఇది max_glyph_size పరామితి యొక్క తప్పు గణన మరియు అవసరమైన దానికంటే తక్కువగా ఉండే మెమరీ ప్రాంతం యొక్క కేటాయింపు కారణంగా సంభవిస్తుంది. గ్లిఫ్లకు అనుగుణంగా.
- CVE-2022-3775 కొన్ని యూనికోడ్ సీక్వెన్స్లను ప్రత్యేకంగా స్టైల్ చేసిన ఫాంట్లో రెండర్ చేస్తున్నప్పుడు సరిహద్దుల వెలుపల వ్రాయడం జరుగుతుంది. సమస్య ఫాంట్ ప్రాసెసింగ్ కోడ్లో ఉంది మరియు గ్లిఫ్ యొక్క వెడల్పు మరియు ఎత్తు అందుబాటులో ఉన్న బిట్మ్యాప్ పరిమాణానికి సరిపోలుతుందని నిర్ధారించడానికి సరైన తనిఖీలు లేకపోవడం వల్ల ఏర్పడింది. దాడి చేసే వ్యక్తి డేటా యొక్క టెయిల్ను కేటాయించిన బఫర్కు వెలుపల వ్రాయబడే విధంగా ఇన్పుట్ను రూపొందించవచ్చు. దుర్బలత్వాన్ని ఉపయోగించుకోవడంలో సంక్లిష్టత ఉన్నప్పటికీ, సమస్యను కోడ్ అమలుకు తీసుకురావడం మినహాయించబడలేదని గుర్తించబడింది.
పరిష్కారం ప్యాచ్గా ప్రచురించబడింది. పంపిణీలలోని దుర్బలత్వాలను తొలగించే స్థితిని ఈ పేజీలలో అంచనా వేయవచ్చు: Ubuntu, SUSE, RHEL, Fedora, Debian. GRUB2లో సమస్యలను పరిష్కరించడానికి, ప్యాకేజీని నవీకరించడం మాత్రమే సరిపోదు; మీరు కొత్త అంతర్గత డిజిటల్ సంతకాలను రూపొందించాలి మరియు ఇన్స్టాలర్లు, బూట్లోడర్లు, కెర్నల్ ప్యాకేజీలు, fwupd ఫర్మ్వేర్ మరియు షిమ్ లేయర్లను కూడా నవీకరించాలి.
చాలా Linux పంపిణీలు UEFI సురక్షిత బూట్ మోడ్లో ధృవీకరించబడిన బూట్ కోసం మైక్రోసాఫ్ట్ ద్వారా డిజిటల్ సంతకం చేయబడిన చిన్న షిమ్ పొరను ఉపయోగిస్తాయి. ఈ లేయర్ GRUB2ని దాని స్వంత సర్టిఫికేట్తో ధృవీకరిస్తుంది, ఇది డిస్ట్రిబ్యూషన్ డెవలపర్లను Microsoftతో ప్రతి కెర్నల్ మరియు GRUB అప్డేట్ను ధృవీకరించకుండా అనుమతిస్తుంది. GRUB2లోని దుర్బలత్వాలు షిమ్ యొక్క విజయవంతమైన ధృవీకరణ తర్వాత దశలో మీ కోడ్ను అమలు చేయడానికి మిమ్మల్ని అనుమతిస్తాయి, కానీ ఆపరేటింగ్ సిస్టమ్ను లోడ్ చేసే ముందు, సురక్షిత బూట్ మోడ్తో యాక్టివ్గా ఉన్న విశ్వసనీయ గొలుసులోకి ప్రవేశించడం మరియు మరొకటి బూట్ చేయడంతో సహా తదుపరి బూట్ ప్రక్రియపై పూర్తి నియంత్రణను పొందడం. OS, ఆపరేటింగ్ సిస్టమ్ భాగాల సిస్టమ్ను సవరించడం మరియు లాక్డౌన్ రక్షణను దాటవేయడం.
డిజిటల్ సంతకాన్ని రద్దు చేయకుండా దుర్బలత్వాన్ని నిరోధించడానికి, పంపిణీలు SBAT (UEFI సెక్యూర్ బూట్ అడ్వాన్స్డ్ టార్గెటింగ్) మెకానిజంను ఉపయోగించవచ్చు, ఇది అత్యంత ప్రజాదరణ పొందిన Linux పంపిణీలలో GRUB2, shim మరియు fwupdలకు మద్దతు ఇస్తుంది. SBAT మైక్రోసాఫ్ట్తో సంయుక్తంగా అభివృద్ధి చేయబడింది మరియు UEFI భాగాల యొక్క ఎక్జిక్యూటబుల్ ఫైల్లకు అదనపు మెటాడేటాను జోడించడాన్ని కలిగి ఉంటుంది, ఇందులో తయారీదారు, ఉత్పత్తి, భాగం మరియు సంస్కరణ గురించిన సమాచారం ఉంటుంది. పేర్కొన్న మెటాడేటా డిజిటల్ సంతకంతో ధృవీకరించబడింది మరియు UEFI సురక్షిత బూట్ కోసం అనుమతించబడిన లేదా నిషేధించబడిన భాగాల జాబితాలలో విడిగా చేర్చబడుతుంది.
SBAT మిమ్మల్ని సెక్యూర్ బూట్ కోసం కీలను ఉపసంహరించుకోకుండా వ్యక్తిగత కాంపోనెంట్ వెర్షన్ నంబర్ల కోసం డిజిటల్ సంతకాల వినియోగాన్ని నిరోధించడానికి అనుమతిస్తుంది. SBAT ద్వారా దుర్బలత్వాలను నిరోధించడానికి UEFI సర్టిఫికేట్ ఉపసంహరణ జాబితా (dbx) యొక్క ఉపయోగం అవసరం లేదు, కానీ సంతకాలను రూపొందించడానికి మరియు పంపిణీల ద్వారా సరఫరా చేయబడిన GRUB2, షిమ్ మరియు ఇతర బూట్ కళాఖండాలను నవీకరించడానికి అంతర్గత కీని భర్తీ చేసే స్థాయిలో నిర్వహించబడుతుంది. SBAT ప్రవేశపెట్టడానికి ముందు, దుర్బలత్వాన్ని పూర్తిగా నిరోధించడానికి సర్టిఫికేట్ ఉపసంహరణ జాబితా (dbx, UEFI ఉపసంహరణ జాబితా) అప్డేట్ చేయడం తప్పనిసరి, ఎందుకంటే దాడి చేసే వ్యక్తి, ఉపయోగించిన ఆపరేటింగ్ సిస్టమ్తో సంబంధం లేకుండా, GRUB2 యొక్క పాత హాని కలిగించే సంస్కరణతో బూటబుల్ మీడియాను ఉపయోగించవచ్చు, UEFI సురక్షిత బూట్తో రాజీ పడేందుకు డిజిటల్ సంతకం ద్వారా ధృవీకరించబడింది.
మూలం: opennet.ru