Faharefoan'ny famonoana kaody ao amin'ny Mozilla NSS rehefa manamboatra certificat

Misy vulnerability (CVE-2021-43527) hita ao amin'ny tranomboky kriptografika novolavolain'ny NSS (Network Security Services), izay mety hitarika amin'ny famonoana ny kaody mpanafika rehefa manamboatra sonia nomerika DSA na RSA-PSS voatondro amin'ny fampiasana ny Fomba fandrakofana DER ( Fitsipika Encoding miavaka). Ny olana, antsoina hoe BigSig, dia voavaha ao amin'ny NSS 3.73 sy NSS ESR 3.68.1. Ny fanavaozana fonosana amin'ny fizarana dia azo alaina ho an'ny Debian, RHEL, Ubuntu, SUSE, Arch Linux, Gentoo, FreeBSD. Tsy mbola misy fanavaozana azo alaina ho an'ny Fedora.

Ny olana dia mitranga amin'ny fampiharana mampiasa NSS mba hifehezana ny sonia nomerika CMS, S/MIME, PKCS #7 ary PKCS #12, na rehefa manamarina ny fanamarinana amin'ny fampiharana TLS, X.509, OCSP ary CRL. Ny vulnerability dia mety hiseho amin'ny fampiharana mpanjifa sy mpizara samihafa izay manohana ny TLS, DTLS ary S/MIME, mpanjifa mailaka ary mpijery PDF izay mampiasa ny antso NSS CERT_VerifyCertificate() hanamarina sonia nomerika.

LibreOffice, Evolution ary Evince dia voalaza ho ohatra amin'ny rindranasa marefo. Mety hisy fiantraikany amin'ny tetikasa toy ny Pidgin, Apache OpenOffice, Suricata, Curl, Chrony, Red Hat Directory Server, Red Hat Certificate System, mod_nss ho an'ny Apache http server, Oracle Communications Messaging Server, Oracle Directory Server Enterprise Edition ny olana. Na izany aza, tsy hita ao amin'ny Firefox, Thunderbird ary Tor Browser ny vulnerability, izay mampiasa tranomboky mozilla::pkix mitokana, tafiditra ao amin'ny NSS koa, ho fanamarinana. Ny navigateur mifototra amin'ny Chromium (raha tsy hoe namboarina manokana miaraka amin'ny NSS), izay nampiasa NSS hatramin'ny 2015, fa avy eo nivadika ho BoringSSL, dia tsy voakasik'ilay olana ihany koa.

Ny vulnerability dia vokatry ny fahadisoana ao amin'ny kaody fanamarinana fanamarinana ao amin'ny vfy_CreateContext asa avy amin'ny rakitra secvfy.c. Ny hadisoana dia mitranga rehefa mamaky taratasy fanamarinana avy amin'ny mpizara ny mpanjifa ary rehefa manodina ny mari-pankasitrahana mpanjifa ny mpizara. Rehefa manamarina sonia nomerika DER-encoded, ny NSS dia mamadika ny sonia ho buffer habe raikitra ary mampita ny buffer amin'ny module PKCS #11. Mandritra ny fanodinana bebe kokoa, ny haben'ny sonia DSA sy RSA-PSS dia tsy voamarina, izay mitarika ho amin'ny fihoaran'ny buffer natokana ho an'ny rafitra VFYContextStr raha mihoatra ny 16384 bit ny haben'ny sonia nomerika (2048 bytes no atokana ho an'ny buffer, fa tsy voamarina fa mety ho lehibe kokoa ny sonia) ).

Ny kaody misy ny vulnerability dia azo trandrahana hatramin'ny taona 2003, saingy tsy nandrahona izany raha tsy tamin'ny taona 2012. Tamin’ny taona 2017, nisy ny fahadisoana mitovy amin’ny fampiharana ny fanohanana RSA-PSS. Mba hanaovana fanafihana dia tsy ilaina ny famokarana fanalahidy sasany mila maka ny angon-drakitra ilaina, satria mitranga eo amin'ny sehatra ny fihoaram-pefy alohan'ny hijerena ny fahamarinan'ny sonia nomerika. Ny ampahany amin'ny angon-drakitra mihoatra ny fetra dia nosoratana ho an'ny faritra fitadidiana misy tondro ho an'ny asa, izay manamora ny famoronana asa fanararaotana.

Hitan'ny mpikaroka avy amin'ny Google Project Zero ilay vulnerable raha nanandrana fomba fitiliana vaovao manjavozavo ary fanehoana tsara ny fomba mety tsy ho hita mandritra ny fotoana maharitra ny vulnerability tsinontsinona amin'ny tetikasa fanta-daza be sedra:

  • Ny kaody NSS dia tazonin'ny ekipan'ny fiarovana efa za-draharaha amin'ny fampiasana ny teknika fitiliana sy famakafakana lesoka manara-penitra. Misy programa maromaro apetraka handoavana valisoa lehibe amin'ny famantarana ny fahalemena ao amin'ny NSS.
  • NSS dia iray amin'ireo tetikasa voalohany nanatevin-daharana ny hetsika oss-fuzz an'ny Google ary nosedraina ihany koa tao amin'ny rafitra fitiliana fuzz miorina amin'ny libFuzzer an'i Mozilla.
  • Ny kaody famakiam-boky dia nojerena imbetsaka tamin'ny mpanadihady static isan-karazany, anisan'izany ny fanaraha-maso ny serivisy Coverity nanomboka tamin'ny 2008.
  • Hatramin'ny taona 2015 dia nampiasaina tao amin'ny Google Chrome ny NSS ary nohamarinin'ny ekipan'ny Google tsy miankina amin'ny Mozilla (nanomboka tamin'ny taona 2015, nifindra tany amin'ny BoringSSL i Chrome, saingy mbola mitohy ny fanohanana ny seranan-tsambo miorina amin'ny NSS).

Ny olana lehibe izay nahatonga ny olana tsy hita nandritra ny fotoana ela:

  • Ny tranomboky modular NSS sy ny fitiliana fuzzing dia natao tsy amin'ny ankapobeny, fa amin'ny haavon'ny singa tsirairay. Ohatra, ny kaody ho an'ny decoding DER sy ny fanamarinana ny fanodinana dia nohamarinina misaraka - nandritra ny fuzzing dia azo nahazo mari-pankasitrahana izay mety hitarika amin'ny fisehoan'ny vulnerability resahina, saingy tsy tonga amin'ny kaody fanamarinana ny fanamarinana ary tsy tonga ny olana. manambara ny tenany.
  • Nandritra ny fitsapam-pahaizana manjavozavo, nisy fameperana henjana napetraka tamin'ny haben'ny vokatra (10000 bytes) raha tsy misy fameperana mitovy amin'izany ao amin'ny NSS (ny rafitra maro amin'ny fomba mahazatra dia mety manana habe mihoatra ny 10000 bytes, noho izany dia ilaina ny angona fampidirana bebe kokoa hamantarana olana) . Ho an'ny fanamarinana feno dia tokony ho 224-1 bytes (16 MB) ny fetra, izay mifanandrify amin'ny haben'ny taratasy fanamarinana ambony indrindra avela ao amin'ny TLS.
  • Hevi-diso momba ny fandrakofana kaody fitsapana fuzz. Ny code vulnerable dia nosedraina navitrika, saingy nampiasa fuzzers izay tsy afaka namoaka ny angona fampidirana ilaina. Ohatra, ny fuzzer tls_server_target dia nampiasa andiana mari-pankasitrahana efa vita, izay nametra ny fanamarinana kaody fanamarinana fanamarinana ho an'ny hafatra TLS sy ny fiovan'ny fanjakana ihany.

Source: opennet.ru

Add a comment