ะะพัััะฟะฝั ะบะพััะตะบัะธััััะธะต ะฒัะฟััะบะธ ัะทัะบะฐ ะฟัะพะณัะฐะผะผะธัะพะฒะฐะฝะธั Python 3.7.10 ะธ 3.6.13, ะฒ ะบะพัะพััั ััััะฐะฝะตะฝะฐ ััะทะฒะธะผะพััั (CVE-2021-3177), ัะฟะพัะพะฑะฝะฐั ะฟัะธะฒะตััะธ ะบ ะธัะฟะพะปะฝะตะฝะธั ะบะพะดะฐ ะฟัะธ ะพะฑัะฐะฑะพัะบะต ะฝะตะฟัะพะฒะตัะตะฝะฝัั ัะธัะตะป ั ะฟะปะฐะฒะฐััะตะน ะทะฐะฟััะพะน ะฒ ะพะฑัะฐะฑะพััะธะบะฐั , ะฒัะทัะฒะฐััะธั ััะฝะบัะธะธ ะฝะฐ ัะทัะบะต ะกะธ ะฟัะธ ะฟะพะผะพัะธ ะผะตั ะฐะฝะธะทะผะฐ ctypes. ะัะพะฑะปะตะผะฐ ัะฐะบะถะต ะทะฐััะฐะณะธะฒะฐะตั ะฒะตัะบะธ Python 3.8 ะธ 3.9, ะฝะพ ะพะฑะฝะพะฒะปะตะฝะธั ะดะปั ะฝะธั ะฟะพะบะฐ ะฝะฐั ะพะดัััั ะฒ ัะพััะพัะฝะธะธ ะบะฐะฝะดะธะดะฐัะฐ ะฒ ัะตะปะธะทั (ัะตะปะธะท ะทะฐะฟะปะฐะฝะธัะพะฒะฐะฝ ะฝะฐ 1 ะผะฐััะฐ).
ะัะพะฑะปะตะผะฐ ะฒัะทะฒะฐะฝะฐ ะฟะตัะตะฟะพะปะฝะตะฝะธะตะผ ะฑััะตัะฐ ะฒ ctypes-ััะฝะบัะธะธ PyCArg_repr(), ะฒะพะทะฝะธะบะฐััะตะผ ะธะท-ะทะฐ ะฝะตะฑะตะทะพะฟะฐัะฝะพะณะพ ะธัะฟะพะปัะทะพะฒะฐะฝะธั sprintf. ะ ัะฐััะฝะพััะธ, ะฝะฐ ะพะฑัะฐะฑะพัะบั ัะตะทัะปััะฐัะฐ ะฒัะฟะพะปะฝะตะฝะธั ะฟัะตะพะฑัะฐะทะพะฒะฐะฝะธั โsprintf(buffer, ยซ<cparam โ%cโ (%d)>ยป, self->tag, self->value.b)โ ะฒัะดะตะปัะปัั ััะฐัะธัะตัะบะธะน ะฑััะตั ัะฐะทะผะตัะพะผ 256 ะฑะฐะนั (ยซchar buffer[256]ยป), ะฒ ัะพ ะฒัะตะผั ะบะฐะบ ัะตะทัะปััะฐั ะผะพะณ ะฟัะตะฒััะฐัั ะดะฐะฝะฝะพะต ะทะฝะฐัะตะฝะธะต. ะะปั ะฟัะพะฒะตัะบะธ ะฟะพะดะฒะตัะถะตะฝะฝะพััะธ ะฟัะธะปะพะถะตะฝะธะน ััะทะฒะธะผะพััะธ ะผะพะถะฝะพ ะฟะพะฟัะพะฑะพะฒะฐัั ะฟะตัะตะดะฐัั ะทะฝะฐัะตะฝะธะต ยซ1e300ยป, ะบะพัะพัะพะต ะฟัะธ ะพะฑัะฐะฑะพัะบะต ะผะตัะพะดะพะผ c_double.from_param ะฟัะธะฒะตะดัั ะบ ะบัะฐั ั, ัะฐะบ ะบะฐะบ ัะตะทัะปััะธััััะธะต ัะธัะปะพ ัะพะดะตัะถะธั 308 ะทะฝะฐะบะพะฒ ะธ ะฝะต ัะผะตัะฐะตััั ะฒ 256-ะฑะฐะนัะฝัะน ะฑััะตั. ะัะธะผะตั ะฟัะพะฑะปะตะผะฝะพะณะพ ะบะพะดะฐ: import ctypes; x = ctypes.c_double.from_param(1e300); repr(x)
ะัะพะฑะปะตะผะฐ ะพััะฐัััั ะฝะตะธัะฟัะฐะฒะปะตะฝะฝะพะน ะฒ Debian, Ubuntu ะธ FreeBSD, ะฝะพ ัะถะต ััััะฐะฝะตะฝะฐ ะฒ Arch Linux, Fedora, SUSE. ะ RHEL ััะทะฒะธะผะพััั ะฝะต ะฟัะพัะฒะปัะตััั ะธะท-ะทะฐ ัะฑะพัะบะธ ะฟะฐะบะตัะพะฒ ะฒ ัะตะถะธะผะต FORTIFY_SOURCE, ะฑะปะพะบะธััััะตะผ ะฟะพะดะพะฑะฝัะต ะฟะตัะตะฟะพะปะฝะตะฝะธั ะฑััะตัะฐ ะฒ ัััะพะบะพะฒัั
ััะฝะบัะธัั
.
เปเบซเบผเปเบเบเปเปเบกเบนเบ: opennet.ru