Vulnerabbiltà f'Python meta jiġu mmaniġġjati numri frazzjonali mhux validati f'ctypes

Huma disponibbli rilaxxi korrettivi tal-lingwa ta' programmar Python 3.7.10 u 3.6.13, li jiffissaw vulnerabbiltà (CVE-2021-3177) li tista' twassal għall-eżekuzzjoni tal-kodiċi meta jiġu pproċessati numri floating point mhux validati f'handlers li jsejħu funzjonijiet C bl-użu tal-mekkaniżmu ctypes. . Il-problema taffettwa wkoll il-fergħat Python 3.8 u 3.9, iżda l-aġġornamenti għalihom għadhom fl-istatus ta 'kandidat għar-rilaxx (rilaxx skedat għall-1 ta' Marzu).

Il-problema hija kkawżata minn buffer overflow fil-funzjoni ctypes PyCArg_repr(), li sseħħ minħabba użu mhux sikur ta 'sprintf. B'mod partikolari, buffer statiku ta '256 bytes fid-daqs ("char buffer" [256]"), filwaqt li r-riżultat jista' jaqbeż dan il-valur. Biex tiċċekkja l-vulnerabbiltà tal-applikazzjonijiet għall-vulnerabbiltà, tista 'tipprova tgħaddi l-valur "1e300", li, meta pproċessat bil-metodu c_double.from_param, iwassal għal ħabta, peress li n-numru li jirriżulta fih 308 karattru u ma jidħolx f' buffer ta' 256 byte. Eżempju ta 'kodiċi problematiku: importazzjoni ctypes; x = ctypes.c_double.from_param(1e300); repr(x)

Il-problema għadha mhux iffissata f'Debian, Ubuntu u FreeBSD, iżda diġà ġiet iffissata f'Arch Linux, Fedora, SUSE. F'RHEL, il-vulnerabbiltà ma sseħħx minħabba l-assemblaġġ tal-pakkett fil-modalità FORTIFY_SOURCE, li timblokka tali buffer overflows f'funzjonijiet ta 'string.

Sors: opennet.ru

Żid kumment