GnuPG haavatavused, mis vÔimaldavad verifikatsiooni mööda minna ja oma koodi kÀivitada

Saksamaal toimuval 39C3 (Chaos Communication Congress) konverentsil avaldati ĂŒksikasju 12 seni teadmata ja parandamata (0-pĂ€eva) haavatavuse kohta GnuPG (GNU Privacy Guard) tööriistade seas, mis pakuvad OpenPGP ja S/MIME standarditega ĂŒhilduvaid tööriistu andmete krĂŒpteerimiseks, allkirjade haldamiseks, vĂ”tmete haldamiseks ja avalike vĂ”tmehoidlate juurde pÀÀsemiseks. KĂ”ige ohtlikumad haavatavused vĂ”imaldavad mööda minna digitaalallkirja kontrollimisest ning saavutada koodi tĂ€itmine ASCII-vormingus krĂŒpteeritud andmete töötlemisel (ASCII Armor). Töötavad eksploitide prototĂŒĂŒbid ja plaastrid lubatakse hiljem avaldada. CVE-tuvid pole veel mÀÀratud.

Haavatavused on pĂ”hjustatud vigadest andmete töötlemise ja vormingute analĂŒĂŒsi koodis ning ei ole seotud krĂŒptoalgoritmide puudustega. NĂ€iteks, parseri viga pĂ”hjustab vea allakirjutatud andmete mÀÀramisel ja loob tingimused, kus kontrollitavad andmed vĂ”ivad mitte vastata allakirjutatud andmetele, mis vĂ”imaldab rĂŒndajal asendada avatud teksti ilma juurdepÀÀsuta privaatsesse vĂ”tmesse.

Tuvastatud probleemid:

  • Viga ASCII-Armori formaadis (tekstid, mis sisaldavad plokki 'BEGIN/END PGP ARMORED FILE') krĂŒpteeritud andmete parseri koodis, mis viib mĂ€lu piire ĂŒletava kirjutamiseni. Probleem vĂ”ib pĂ”hjustada koodi tĂ€itmist, kui gpg töötleb spetsiaalselt vormindatud andmeid. Haavatavus avaldub funktsioonis armor_filter() ja tuleneb 'n' loenduri topeltinkrementatsiooni tsĂŒklis 'for' — hoolimata 'n++' mÀÀramisest tsĂŒklis, suureneb loenduri vÀÀrtus ka tsĂŒkli kehas, kui andmeid kirjutatakse puusse 'buf[n++]'. LĂ”ppkokkuvĂ”ttes kirjutatakse puust vĂ€lja ĂŒleliigne bait ja 'ret_len' suuruse mÀÀramisel seatakse vÀÀrtus, mis ĂŒletab tegeliku.
  • VĂ”imalus luua vĂ”i ĂŒle kirjutada mistahes faili, kuivĂ”rd seda vĂ”imaldavad praegused Ă”igused, vale 'filename' vĂ€lja sisu töötlemise tĂ”ttu andmepaketis. Haavatavust saab kasutada sĂŒsteemis koodi kĂ€itamise korraldamiseks, kui saaja kĂ€ivitab kĂ€ske 'gpg --decrypt poc.enc' ja 'gpg poc.enc', et vaadata rĂŒndaja poolt saadetud faili poc.enc. Koodi tĂ€itmist saab saavutada nĂ€iteks failide ~/.bash_completion vĂ”i ~/.ssh/authorized_keys loomisega.
  • VĂ”imalus asendada avatud tekst, mida kasutajale nĂ€idatakse valiku „—decrypt” ja allkirjaga eraldi tarnitud digitaalsete allkirjade (Detached Signature, loodud valikuga „—detach-sig” ja tarnitud eraldi sig-failina) kasutamisel. Probleemi sisuks on see, et kui saata sĂ”num ja sig-fail eraldi, vĂ”ib rĂŒndaja, kes kontrollib vahepealset liiklust (MITM), sig-faili muuta, mille jĂ€rel jÀÀb valideerimine edukaks, kuid sĂ”numi vaatamine sig-faili kaudu valiku „—decrypt” abil toob esile teistsuguse sisu. echo Plaintext > plaintext gpg —detach-sig plaintext # rĂŒndaja muutis plaintext.sig, lisades tĂ€iendava teksti gpg —verify plaintext.sig plaintext # valideeritud gpg —decrypt plaintext.sig # valideeritud, kuid vĂ€ljastatakse teistsugune tekst
  • VĂ”imalus lisada allkirjastatud sĂ”numile meelevaldseid andmeid, sĂ€ilitades allkirja eduka kontrollimise. Probleem tekib andmete lĂ”ikamisel 20000 tĂ€hemĂ€rgi piiril, kui arvutatakse rikka.
  • Vale autentimise kontrollimise koodide (MDC — Modification Detection Codes) kĂ€sitlemine, mis vĂ”imaldab manipuleerida krĂŒpteeritud paketiga nii, et dekrĂŒpteerimise kĂ€igus töödeldakse saadud sisu teist tĂŒĂŒpi paketina (nĂ€iteks peetakse seda avaliku vĂ”tmise jaoks mĂ”eldud paketiks).
  • VĂ”imalus lisada tĂ€iendavaid andmeid CS-allkirjadesse (Cleartext Signature), mis on loodud lipuga „—not-dash-escaped” vĂ”i konverteeritud eraldi esitletud allkirjadest (Detached Signature). Haavatavust saab kasutada, et jĂ€tta kasutajale vale mulje, milliseid andmeid tegelikult allkirjastati. NĂ€iteks vĂ”ib kasutaja usaldusvÀÀrsetest allikatest alla laadida korrektse vĂ”tme digitaalallkirja kontrollimiseks, kuid rĂŒndaja vĂ”ib MITM-rĂŒnnaku kĂ€igus asendada kasutaja alla laaditava iso-pildi ja lisada pildi allkirjale tĂ€iendava rikka, nii et asendatud pildi valideerimine toimub edukalt, kui sĂŒsteemis on Ă”ige kontrolliv vĂ”ti.
  • TĂ€iendavate andmete lisamine ASCII-esitlusesse CS-allkirjast (Cleartext Signature) nullkoodi sĂŒmboli sisestamise kaudu. Haavatavus vĂ”imaldab nĂ€iteks sisestada meelevaldset teksti Hashi pĂ€isesse.
  • Vale tĂ”lgendamine OpenPGP formaadist, mille tĂ”ttu ASCII kooditud sĂ”num "One-Pass Signed Message" vĂ”ib teatud pealkirja muutmise korral töödelda kui "Cleartext Signature". Vulnerability vĂ”imaldab asendada originaalsed allkirjastatud andmed pahatahtliku sisuga, sĂ€ilitades eduka kontrollimise vĂ€limuse.
  • Puudub selge eraldus informatsiooni vĂ€ljundis digitaalallkiri kontrollimise edukuse ja sĂ”numi sisu vahel, mis vĂ”imaldab luua vale allkirjastamata sĂ”numeid, mis nĂ€evad vĂ€lja nagu ehtsad, kui kĂ€ivitate "gpg --decrypt".
  • VĂ”imalus luua OpenPGP sĂ”numeid, mida gpg töödeldakse teisiti kui teistes OpenPGP rakendustes. Probleem tuleneb ASCII esitusviisi vĂ€ga pikkade ridadel töötlemise omadusest OpenPGP andmete puhul.
  • Digitaalse allkirja kontrollimise protsessis luuakse tingimused, et tagasi minna ebaturvalise SHA1 kontrollimise algoritmi juurde.
  • VĂ”imalus asendada oma sekundaarvĂ”tmed (subkey) ilma nende autoriseerimiseta, kasutades peavĂ”tme privaatset komponenti. RĂŒnnak toimub vale vĂ”tmehoidla lisamise kaudu, kasutades "--keyring" valik.

Lisaks on tuvastatud kaks haavatavust minisign'is, lihtsustatud tööriistas digitaalsete allkirjade loomiseks ja kontrollimiseks. MÔlemad haavatavused (1, 2) vÔimaldavad kasutada terminalikontrolli jÀrjestusi ("\e[1E") vÔi erimÀrke ("\r") kommentaarivÀljas programmi vÀljundi modifitseerimiseks, nÀiteks kontrollimise tulemuse teabe asendamiseks.

Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster