แƒ“แƒแƒฃแƒชแƒ•แƒ”แƒšแƒแƒ‘แƒ แƒžแƒ˜แƒ—แƒแƒœแƒจแƒ˜ ctypes-แƒจแƒ˜ แƒแƒ แƒแƒ•แƒแƒšแƒ˜แƒ“แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒฌแƒ˜แƒšแƒแƒ“แƒ˜ แƒ แƒ˜แƒชแƒฎแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ˜แƒกแƒแƒก

แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒ แƒžแƒ˜แƒ—แƒแƒœแƒ˜แƒก แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ”แƒœแƒ˜แƒก 3.7.10 แƒ“แƒ 3.6.13 แƒ›แƒแƒ™แƒแƒ แƒ”แƒฅแƒขแƒ˜แƒ แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ’แƒแƒ›แƒแƒจแƒ•แƒ”แƒ‘แƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒแƒคแƒ˜แƒฅแƒกแƒ˜แƒ แƒ”แƒ‘แƒก แƒ“แƒแƒฃแƒชแƒ•แƒ”แƒšแƒแƒ‘แƒแƒก (CVE-2021-3177), แƒ แƒแƒ›แƒแƒช แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ›แƒแƒ˜แƒฌแƒ•แƒ˜แƒแƒก แƒ™แƒแƒ“แƒ˜แƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒก แƒแƒ แƒแƒ•แƒแƒšแƒ˜แƒ“แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒชแƒฃแƒ แƒแƒ•แƒ˜ แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ˜แƒก แƒœแƒแƒ›แƒ แƒ”แƒ‘แƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ˜แƒซแƒแƒฎแƒ˜แƒแƒœ C แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒก ctypes แƒ›แƒ”แƒฅแƒแƒœแƒ˜แƒ–แƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—. . แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒแƒกแƒ”แƒ•แƒ” แƒ”แƒฎแƒ”แƒ‘แƒ Python 3.8 แƒ“แƒ 3.9 แƒคแƒ˜แƒšแƒ˜แƒแƒšแƒ”แƒ‘แƒก, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ›แƒแƒ—แƒ—แƒ•แƒ˜แƒก แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒฏแƒ”แƒ  แƒ™แƒ˜แƒ“แƒ”แƒ• แƒแƒ แƒ˜แƒก แƒ™แƒแƒœแƒ“แƒ˜แƒ“แƒแƒขแƒ˜แƒก แƒกแƒขแƒแƒขแƒฃแƒกแƒ˜แƒก แƒ’แƒแƒ›แƒแƒจแƒ•แƒ”แƒ‘แƒ (แƒ’แƒแƒ›แƒแƒชแƒ”แƒ›แƒ แƒ“แƒแƒ’แƒ”แƒ’แƒ›แƒ˜แƒšแƒ˜แƒ 1 แƒ›แƒแƒ แƒขแƒก).

แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒ’แƒแƒ›แƒแƒฌแƒ•แƒ”แƒฃแƒšแƒ˜แƒ แƒ‘แƒฃแƒคแƒ”แƒ แƒ˜แƒก แƒ’แƒแƒ“แƒแƒญแƒแƒ แƒ‘แƒ”แƒ‘แƒ˜แƒ— ctypes แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒจแƒ˜ PyCArg_repr(), แƒ แƒแƒช แƒฎแƒ“แƒ”แƒ‘แƒ sprintf-แƒ˜แƒก แƒแƒ แƒแƒฃแƒกแƒแƒคแƒ แƒ—แƒฎแƒ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒ. แƒ™แƒ”แƒ แƒซแƒแƒ“, แƒขแƒ แƒแƒœแƒกแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒ“แƒ”แƒ’แƒ˜แƒก แƒ“แƒแƒกแƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒšแƒแƒ“ 'sprintf(แƒ‘แƒฃแƒคแƒ”แƒ แƒ˜, " ", 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

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ