JavaScript raamatukogus xml-crypto, mida kasutatakse 402 projekti sĂ”ltuvusena ja mis laaditakse NPM kataloogist alla umbes miljon korda nĂ€dalas, avastati haavatavus (CVE-2024-32962), millele on omistatud maksimaalne ohu tase (10 10-st). Raamatukogu pakub funktsioone XML-dokumentide krĂŒpteerimiseks ja digitaalse allkirja kontrollimiseks. Haavatavus vĂ”imaldab rĂŒndajal kinnitada vale dokumenti, mis vaikimisi kontrollitakse raamatukogu poolt, hoolimata sellest, et see on allkirjastatud mitte selle vĂ”tmega, mida kasutatakse allkirjade kontrollimiseks. Probleem ilmneb alates xml-crypto versioonist 4.0.0 ja on jaanuari vĂ€ljaandes 6.0.0 ilma liialdava publiciteedita kĂ”rvaldatud.
Haavatavus on pĂ”hjustatud sellest, et vaikimisi seadistuses raamatukogu ei autoriseeri allkirja loojat, vaid kontrollib ainult allkirja Ă”igsust. EelkĂ”ige usaldab raamatukogu igasuguseid sertifikaate, mis on paigutatud allkirjastatud dokumendi XML-elementi KeyInfo, isegi kui seadistustes on mĂ€rgitud konkreetse sertifikaadi kasutamine digitaalse allkirja kontrollimiseks. Seega piisab rĂŒndajast, et asendada originaalne digitaalne allkiri oma privaatvĂ”tmest loodud allkirjaga ja paigaldada sellega seotud sertifikaat (avalik vĂ”ti) elemendis KeyInfo.
Allikas: opennet.ru
