Перапаўненне буфера ў OpenSSL, якое эксплуатуецца пры праверцы сертыфікатаў X.509.

Апублікаваны які карэктуе выпуск крыптаграфічнай бібліятэкі OpenSSL 3.0.7, у якім ухіленыя дзве ўразлівасці. Абедзве праблемы выкліканы перапаўненнем буфера ў кодзе праверкі поля з email-адрасам у сертыфікатах X.509 і патэнцыйна могуць прывесці да выканання кода пры апрацоўцы спецыяльна аформленага сертыфіката. На момант публікацыі выпраўлення распрацоўнікамі OpenSSL не было зафіксавана фактаў наяўнасці працоўнага эксплоіта, здольнага прывесці да выканання кода атакавалага.

Нягледзячы на ​​тое, што ў загадзя апублікаваным анонсе новага выпуску згадвалася наяўнасць крытычнай праблемы, фактычна ў выпушчаным абнаўленні статус уразлівасці быў паніжаны да ўзроўня небяспечнай, але не крытычнай уразлівасці. У адпаведнасці з прынятымі ў праекце правіламі зніжэнне ўзроўню небяспекі праводзіцца ў выпадку праявы праблемы ў нетыповых канфігурацыях або ў выпадку нізкай верагоднасці эксплуатацыі ўразлівасці на практыцы.

У разгляданым выпадку ўзровень небяспекі быў паніжаны, бо падчас дэталёвага аналізу ўразлівасці некалькімі арганізацыямі была зроблена выснова, што магчымасць выканання кода падчас эксплуатацый блакуецца ўжывальнымі ў шматлікіх платформах механізмамі абароны ад перапаўнення стэка. Акрамя таго, ужывальная ў некаторых дыстрыбутывах Linux раскладка сетка прыводзіць да таго, што якія выходзяць за мяжу 4 байта накладваюцца на следам ідучы ў стэку буфер, які яшчэ не выкарыстоўваецца. Тым не менш, не выключана, што існуюць і такія платформы, у якіх магчымая эксплуатацыя для выканання кода.

Выяўленыя праблемы:

  • CVE-2022-3602 — уразлівасць, першапачаткова паднесеная як крытычная, прыводзіць да 4-байтавага перапаўнення буфера пры праверцы ў сертыфікаце X.509 палі са спецыяльна аформленым email-адрасам. У TLS-кліенце ўразлівасць можа быць эксплуатаваная пры падлучэнні да сервера, падкантрольнаму атакаваламу. На TLS-серверы ўразлівасць можа быць эксплуатаваная ў выпадку прымянення аўтэнтыфікацыі кліентаў па сертыфікатах. Пры гэтым уразлівасць выяўляецца на стадыі пасля верыфікацыі злучанага з сертыфікатам ланцужкі даверу, г.зн. для нападу патрабуецца каб які сведчыць цэнтр запэўніў шкоднасны сертыфікат зламысніка.
  • CVE-2022-3786 – іншы вектар эксплуатацыі ўразлівасці CVE-2022-3602, выяўлены падчас разбору праблемы. Адрозненні зводзяцца да магчымасці перапаўнення буфера ў стэку на адвольны лік байт, утрымоўвальных знак "." (г.зн. атакавалы не можа кіраваць зместам перапаўнення і праблема можа быць выкарыстана толькі для выкліку аварыйнага завяршэння прыкладання).

Уразлівасці выяўляюцца толькі ў галінцы OpenSSL 3.0.x (памылка з'явілася ў кодзе пераўтварэння Unicode (punycode), дададзеным у галінку 3.0.x). Выпускі OpenSSL 1.1.1, а таксама якія адгалііліся ад OpenSSL бібліятэкі LibreSSL і BoringSSL, праблеме не схільныя. Адначасова сфарміравана абнаўленне OpenSSL 1.1.1s, у якім прысутнічаюць толькі не злучаныя з бяспекай выпраўлення памылак.

Галінка OpenSSL 3.0 выкарыстоўваецца ў такіх дыстрыбутывах, як Ubuntu 22.04, CentOS Stream 9, RHEL 9, OpenMandriva 4.2, Gentoo, Fedora 36, ​​Debian Testing/Unstable. Карыстачам дадзеных сістэм рэкамендуецца як мага хутчэй усталяваць абнаўленні (Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch). У SUSE Linux Enterprise 15 SP4 і openSUSE Leap 15.4/3.0 пакеты з OpenSSL 1.1.1 даступныя апцыянальна, сістэмныя пакеты выкарыстоўваюць галінку 1. На галінках OpenSSL 11.x застаюцца Debian 20.04, Arch Linux, Void Linux, Ubuntu 8/3.16, Slackware, ALT Linux, RHEL XNUMX, OpenWrt, Alpine Linux XNUMX і FreeBSD.

Крыніца: opennet.ru

Дадаць каментар