Pārbaudot X.509 sertifikātus, tiek izmantota OpenSSL bufera pārpilde

Publicēts OpenSSL kriptogrāfijas bibliotēkas 3.0.7 koriģējošais laidiens, kas novērš divas ievainojamības. Abas problēmas izraisa bufera pārpildes e-pasta lauka validācijas kodā X.509 sertifikātos, un tās var izraisīt koda izpildi, apstrādājot īpaši ierāmētu sertifikātu. Labojuma publicēšanas laikā OpenSSL izstrādātāji nebija fiksējuši nekādus pierādījumus, kas liecinātu par funkcionējoša ekspluatācijas esamību, kas varētu novest pie uzbrucēja koda izpildes.

Neskatoties uz to, ka jaunā laidiena pirmsizlaides paziņojumā bija minēta kritiskas problēmas esamība, faktiski izlaistajā atjauninājumā ievainojamības statuss tika samazināts līdz bīstamas, bet ne kritiskas ievainojamības līmenim. Atbilstoši projektā pieņemtajiem noteikumiem, bīstamības līmenis tiek samazināts, ja problēma izpaužas netipiskās konfigurācijās vai ir maza ievainojamības izmantošanas iespējamība praksē.

Šajā gadījumā smaguma pakāpe tika samazināta, jo vairāku organizāciju veikta detalizēta ievainojamības analīze secināja, ka spēju izpildīt kodu ekspluatācijas laikā bloķē daudzās platformās izmantotie steka pārpildes aizsardzības mehānismi. Turklāt dažos Linux izplatījumos izmantotā režģa izkārtojuma rezultātā 4 baiti, kas iziet no robežām, tiek uzklāti uz nākamo steka buferi, kas vēl netiek izmantots. Tomēr ir iespējams, ka ir platformas, kuras var izmantot, lai izpildītu kodu.

Konstatētās problēmas:

  • CVE-2022-3602 — ievainojamība, kas sākotnēji tika parādīta kā kritiska, izraisa 4 baitu bufera pārpildīšanu, pārbaudot lauku ar īpaši izstrādātu e-pasta adresi X.509 sertifikātā. TLS klientā ievainojamību var izmantot, izveidojot savienojumu ar serveri, kuru kontrolē uzbrucējs. TLS serverī ievainojamību var izmantot, ja tiek izmantota klienta autentifikācija, izmantojot sertifikātus. Šajā gadījumā ievainojamība parādās posmā pēc ar sertifikātu saistītās uzticamības ķēdes pārbaudes, t.i. Lai veiktu uzbrukumu, sertifikātu iestādei ir jāpārbauda uzbrucēja ļaunprātīgais sertifikāts.
  • CVE-2022-3786 ir vēl viens vektors CVE-2022-3602 ievainojamības izmantošanai, kas tika identificēta problēmas analīzes laikā. Atšķirības ir saistītas ar iespēju pārpildīt steka buferi par patvaļīgu skaitu baitu, kas satur "." (t.i., uzbrucējs nevar kontrolēt pārpildes saturu, un problēmu var izmantot tikai, lai izraisītu lietojumprogrammas avāriju).

Ievainojamības parādās tikai OpenSSL 3.0.x atzarā (kļūda tika ieviesta Unicode konversijas kodā (punycode), kas pievienots 3.0.x filiālei). Problēma neietekmē OpenSSL 1.1.1, kā arī OpenSSL dakšu bibliotēkas LibreSSL un BoringSSL. Tajā pašā laikā tika izlaists OpenSSL 1.1.1s atjauninājums, kurā ir tikai ar drošību nesaistīti kļūdu labojumi.

OpenSSL 3.0 filiāle tiek izmantota tādos izplatījumos kā Ubuntu 22.04, CentOS Stream 9, RHEL 9, OpenMandriva 4.2, Gentoo, Fedora 36, ​​​​Debian Testing/Unstable. Šo sistēmu lietotājiem ieteicams pēc iespējas ātrāk instalēt atjauninājumus (Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch). SUSE Linux Enterprise 15 SP4 un openSUSE Leap 15.4 pakotnes ar OpenSSL 3.0 ir pieejamas pēc izvēles, sistēmas pakotnes izmanto 1.1.1 atzaru. Debian 1, Arch Linux, Void Linux, Ubuntu 11, Slackware, ALT Linux, RHEL 20.04, OpenWrt, Alpine Linux 8 un FreeBSD paliek OpenSSL 3.16.x filiālēs.

Avots: opennet.ru

Pievieno komentāru