Доступна су исправна издања програмског језика Питхон 3.7.10 и 3.6.13, која поправљају рањивост (ЦВЕ-2021-3177) која би могла довести до извршавања кода приликом обраде непотврђених бројева с покретним зарезом у обрађивачима који позивају Ц функције користећи механизам цтипес . Проблем такође утиче на гране Питхон 3.8 и 3.9, али ажурирања за њих су и даље у статусу кандидата за издање (издање је заказано за 1. март).
Проблем је узрокован преливом бафера у функцији цтипес ПиЦАрг_репр(), до којег долази због небезбедне употребе спринтф-а. Конкретно, за обраду резултата трансформације 'спринтф(буффер, " ", селф->таг, селф->валуе.б)' доделио статички бафер од 256 бајтова ("цхар бафер[256]"), док би резултат могао да премаши ову вредност. Да бисте проверили рањивост апликација на рањивост, можете покушати да проследите вредност „1е300“, која ће, када се обради методом ц_доубле.фром_парам, довести до пада, пошто резултирајући број садржи 308 знакова и не уклапа се у 256-бајтни бафер. Пример проблематичног кода: импорт цтипес; к = цтипес.ц_доубле.фром_парам(1е300); репр(к)
Проблем остаје нерешен у Debian, Ubuntu и FreeBSD, али је већ поправљено у Arch-у Linux, Fedora, SUSE. У RHEL-у, рањивост се не манифестује због пакета који се граде у FORTIFY_SOURCE режиму, који блокира таква препуњавања бафера у стринг функцијама.
Извор: опеннет.ру
