Kotsi ea ts'ebetso ea khoutu ho Mozilla NSS ha o sebetsana le litifikeiti

Ts'ireletso e matla (CVE-2021-43527) e khethiloe ho NSS (Network Security Services) sete ea lilaebrari tsa li-cryptographic tse ntlafalitsoeng ke Mozilla, tse ka lebisang ts'ebetsong ea khoutu ea bahlaseli ha o sebetsana le li-signature tsa DSA kapa tsa RSA-PSS tse boletsoeng ho sebelisoa DER mokhoa oa khouto (Melao e Ikhethang ea Khouto). Taba ena, e bitsoang BigSig, e rarolloa ho NSS 3.73 le NSS ESR 3.68.1. Lintlafatso tsa liphutheloana kabong lia fumaneha bakeng sa Debian, RHEL, Ubuntu, SUSE, Arch Linux, Gentoo, FreeBSD. Ha ho na lintlafatso tse fumanehang bakeng sa Fedora hajoale.

Bothata bo hlaha lits'ebetsong tse sebelisang NSS ho sebetsana le li-signature tsa CMS, S/MIME, PKCS #7 le PKCS #12 tsa dijithale, kapa ha ho netefatsa litifikeiti ho ts'ebetsong ea TLS, X.509, OCSP le CRL. Kotsi e ka hlaha lits'ebetsong tse fapaneng tsa bareki le li-server tse tšehetsang TLS, DTLS le S/MIME, bareki ba lengolo-tsoibila le bashebelli ba PDF ba sebelisang mohala oa NSS CERT_VerifyCertificate() ho netefatsa mesaeno ea dijithale.

LibreOffice, Evolution le Evince li boleloa e le mehlala ea likopo tse tlokotsing. Mohlomong, bothata bo ka boela ba ama merero e kang Pidgin, Apache OpenOffice, Suricata, Curl, Chrony, Red Hat Directory Server, Red Hat Certificate System, mod_nss bakeng sa seva sa Apache http, Oracle Communications Messaging Server, Oracle Directory Server Enterprise Edition. Leha ho le joalo, ts'oaetso ha e hlahe ho Firefox, Thunderbird le Tor Browser, tse sebelisang laebrari e arohaneng ea mozilla ::pkix, e kenyellelitsoeng ho NSS, bakeng sa ho netefatsa. Libatli tse thehiloeng ho Chromium (ntle le haeba li hahiloe ka ho khetheha le NSS), tse sebelisitseng NSS ho fihlela 2015, empa li fetisetsoa ho BoringSSL, le tsona ha li amehe ke bothata.

Kotsi e bakoa ke phoso khoutu ea netefatso ea setifikeiti ho vfy_CreateContext ho tsoa faeleng ea secvfy.c. Phoso e etsahala ka bobeli ha moreki a bala setifikeiti ho tsoa ho seva le ha seva se sebetsa litifikeiti tsa bareki. Ha o netefatsa tshaeno ya dijithale e kentsweng ka DER, NSS e kgetha tshaeno hore e be buffer ya boholo bo tsitsitseng mme e fetise buffer ho mojule wa PKCS #11. Nakong ea ts'ebetso e tsoelang pele, boholo bo hlahlojoa ka phoso bakeng sa li-signature tsa DSA le RSA-PSS, tse lebisang ho phallo ea buffer e abetsoeng VFYContextStr sebopeho haeba boholo ba signature ea digital e feta 16384 bits (2048 byte e abetsoe buffer, empa ha e hlahlojoe hore na tekeno e ka ba kholoanyane) ).

Khoutu e nang le ts'oaetso e ka saloa morao ho tloha ka 2003, empa ha ea ka ea baka tšokelo ho fihlela phetoho e entsoeng ka 2012. Ka 2017, phoso e tšoanang e ile ea etsoa ha ho sebelisoa tšehetso ea RSA-PSS. Ho etsa tlhaselo, tlhahiso e matla ea lisebelisoa tsa linotlolo tse itseng ha e hlokehe ho fumana lintlha tse hlokahalang, kaha ho phalla ho etsahala sethaleng pele ho hlahloba ho nepahala ha signature ea digital. Karolo ea data e fetang meeli e ngotsoe sebakeng sa memori se nang le litsupa ho mesebetsi, e nolofatsang pōpo ea mesebetsi e sebetsang.

Ho ba kotsing ho ile ha sibolloa ke bafuputsi ba Google Project Zero ha ba ntse ba leka mekhoa e mecha ea tlhahlobo e makatsang, 'me ke sesupo se setle sa hore na bofokoli bo sa reng letho bo ka tsoela pele joang bo sa lemohuoe ka nako e telele morerong o tsebahalang o lekiloeng ka bongata:

  • Khoutu ya NSS e baballwa ke sehlopha sa tshireletso se nang le boiphihlelo se sebedisang diteko tsa moraorao le mekgwa ya ho hlahloba diphoso. Ho na le mananeo a 'maloa a teng a ho lefa meputso e meholo bakeng sa ho hloaea bofokoli ho NSS.
  • NSS e bile e 'ngoe ea merero ea pele ea ho kenela morero oa Google oa oss-fuzz hape e ile ea lekoa ho sistimi ea tlhahlobo ea fuzz e thehiloeng ho libFuzzer ea Mozilla.
  • Khoutu ea laeborari e 'nile ea hlahlojoa hangata ho li-analyzer tse fapaneng tse sa fetoheng, ho kenyelletsa le ho beoa leihlo ke ts'ebeletso ea Coverity ho tloha ka 2008.
  • Ho fihlela 2015, NSS e ne e sebelisoa ho Google Chrome 'me e netefalitsoe ka boithaopo ke sehlopha sa Google ntle le Mozilla (ho tloha 2015, Chrome e fetohetse ho BoringSSL, empa tšehetso bakeng sa boema-kepe bo thehiloeng ho NSS e ntse e le teng).

Mathata a ka sehloohong ao bothata bona bo ileng ba lula bo sa lemohuoe ka nako e telele:

  • Laeborari ea modular ea NSS le liteko tsa fuzzing ha lia etsoa ka kakaretso, empa maemong a likarolo tsa motho ka mong. Mohlala, khoutu ea ho decoding DER le litifikeiti tsa ts'ebetso e ile ea hlahlojoa ka thoko - nakong ea fuzzing, ho ka be ho ile ha fumanoa setifikeiti se neng se ka lebisa ponahatsong ea bofokoli boo ho buuoang ka bona, empa cheke ea eona ha ea fihla khoutu ea netefatso mme bothata ha boa ka ba hlaha. iponahatse.
  • Nakong ea tlhahlobo ea fuzzing, ho ile ha beoa lithibelo tse thata ho boholo ba tlhahiso (10000 bytes) ha ho se na lithibelo tse tšoanang ho NSS (mehaho e mengata e maemong a tloaelehileng e ka ba le boholo ba li-byte tse fetang 10000, kahoo ho ne ho hlokahala lintlha tse ngata tsa ho kenya letsoho ho tseba mathata) . Bakeng sa netefatso e felletseng, moeli o ne o lokela ho ba 224-1 byte (16 MB), e tsamaellanang le boholo ba setifikeiti se lumelletsoeng ho TLS.
  • Maikutlo a fosahetseng mabapi le tšebeliso ea khoutu ea tlhahlobo ea fuzz. Khoutu e tlokotsing e ile ea lekoa ka matla, empa ho sebelisoa li-fuzzers tse sa khoneng ho hlahisa lintlha tse hlokahalang tsa ho kenya. Mohlala, fuzzer tls_server_target e sebelisitse sete e boletsoeng esale pele ea litifikeiti tse seng li entsoe, tse fokotsang tlhahlobo ea khoutu ea netefatso ea setifikeiti ho melaetsa ea TLS feela le liphetoho tsa boemo ba protocol.

Source: opennet.ru

Eketsa ka tlhaloso