Ang buffer overflow sa OpenSSL ay pinagsamantalahan kapag nagbe-verify ng mga X.509 certificate

Na-publish ang corrective release ng OpenSSL cryptographic library 3.0.7, na nag-aayos ng dalawang kahinaan. Ang parehong mga isyu ay sanhi ng buffer overflows sa email field validation code sa mga X.509 certificate at posibleng humantong sa pagpapatupad ng code kapag nagpoproseso ng isang espesyal na naka-frame na certificate. Sa oras ng paglalathala ng pag-aayos, ang mga developer ng OpenSSL ay hindi nagtala ng anumang katibayan ng pagkakaroon ng isang gumaganang pagsasamantala na maaaring humantong sa pagpapatupad ng code ng umaatake.

Sa kabila ng katotohanan na binanggit ng pre-release na anunsyo ng bagong release ang pagkakaroon ng isang kritikal na isyu, sa katunayan, sa inilabas na pag-update ang katayuan ng kahinaan ay nabawasan sa antas ng isang mapanganib, ngunit hindi kritikal na kahinaan. Alinsunod sa mga patakaran na pinagtibay sa proyekto, ang antas ng panganib ay nababawasan kung ang problema ay nagpapakita ng sarili sa mga hindi tipikal na pagsasaayos o kung mayroong isang mababang posibilidad ng pagsasamantala ng kahinaan sa pagsasanay.

Sa kasong ito, ang antas ng kalubhaan ay nabawasan dahil ang isang detalyadong pagsusuri ng kahinaan ng ilang mga organisasyon ay nagpasiya na ang kakayahang magsagawa ng code sa panahon ng pagsasamantala ay na-block ng mga mekanismo ng proteksyon ng stack overflow na ginagamit sa maraming mga platform. Bilang karagdagan, ang layout ng grid na ginamit sa ilang distribusyon ng Linux ay nagreresulta sa 4 na byte na lumalabas sa mga hangganan na ipinapatong sa susunod na buffer sa stack, na hindi pa ginagamit. Gayunpaman, posible na may mga platform na maaaring samantalahin upang maisagawa ang code.

Natukoy ang mga isyu:

  • CVE-2022-3602 - isang kahinaan, na unang ipinakita bilang kritikal, ay humahantong sa isang 4-byte na buffer overflow kapag tumitingin sa isang field na may espesyal na idinisenyong email address sa isang X.509 certificate. Sa isang TLS client, ang kahinaan ay maaaring samantalahin kapag kumokonekta sa isang server na kinokontrol ng umaatake. Sa isang TLS server, ang kahinaan ay maaaring gamitin kung ang pagpapatunay ng kliyente gamit ang mga sertipiko ay ginagamit. Sa kasong ito, lumilitaw ang kahinaan sa yugto pagkatapos ng pag-verify ng chain of trust na nauugnay sa certificate, i.e. Kinakailangan ng pag-atake na i-verify ng awtoridad ng certificate ang nakakahamak na certificate ng umaatake.
  • Ang CVE-2022-3786 ay isa pang vector para sa pagsasamantala sa kahinaan ng CVE-2022-3602, na natukoy sa panahon ng pagsusuri ng problema. Ang mga pagkakaiba ay bumagsak sa posibilidad na umapaw ang isang buffer sa stack ng isang arbitrary na bilang ng mga byte na naglalaman ng "." (ibig sabihin, hindi makokontrol ng umaatake ang mga nilalaman ng overflow at ang problema ay magagamit lamang upang maging sanhi ng pag-crash ng application).

Ang mga kahinaan ay lalabas lamang sa OpenSSL 3.0.x branch (ang bug ay ipinakilala sa Unicode conversion code (punycode) na idinagdag sa 3.0.x branch). Ang mga paglabas ng OpenSSL 1.1.1, pati na rin ang mga OpenSSL fork library na LibreSSL at BoringSSL, ay hindi apektado ng problema. Kasabay nito, ang pag-update ng OpenSSL 1.1.1s ay inilabas, na naglalaman lamang ng mga hindi pangseguridad na pag-aayos ng bug.

Ang OpenSSL 3.0 branch ay ginagamit sa mga pamamahagi gaya ng Ubuntu 22.04, CentOS Stream 9, RHEL 9, OpenMandriva 4.2, Gentoo, Fedora 36, ​​​​Debian Testing/Unstable. Ang mga gumagamit ng mga system na ito ay inirerekomenda na mag-install ng mga update sa lalong madaling panahon (Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch). Sa SUSE Linux Enterprise 15 SP4 at openSUSE Leap 15.4, ang mga package na may OpenSSL 3.0 ay available bilang opsyonal, ginagamit ng mga system package ang 1.1.1 branch. Ang Debian 1, Arch Linux, Void Linux, Ubuntu 11, Slackware, ALT Linux, RHEL 20.04, OpenWrt, Alpine Linux 8 at FreeBSD ay nananatili sa mga sanga ng OpenSSL 3.16.x.

Pinagmulan: opennet.ru

Magdagdag ng komento