рдкрд╛рдЗрдердирдорд╛ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рднрд┐рдиреНрди рд╕рдВрдЦреНрдпрд╛рд╣рд░реВ рдЯрд╛рдЗрдкрд╣рд░реВрдорд╛ рд╣реНрдпрд╛рдиреНрдбрд▓ рдЧрд░реНрджрд╛

рдкрд╛рдЗрдерди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛ 3.7.10 рд░ 3.6.13 рдХреЛ рд╕реБрдзрд╛рд░рд╛рддреНрдордХ рд░рд┐рд▓реАрдЬрд╣рд░реВ рдЙрдкрд▓рдмреНрдз рдЫрдиреН, рдЬрд╕рд▓реЗ рдПрдХ рдЬреЛрдЦрд┐рдо (CVE-2021-3177) рд▓рд╛рдИ рдлрд┐рдХреНрд╕ рдЧрд░реНрджрдЫ рдЬрд╕рд▓реЗ рд╣реНрдпрд╛рдиреНрдбрд▓рд░рд╣рд░реВрдорд╛ рдЕрдкреНрд░рдорд╛рдгрд┐рдд рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдкреЛрдЗрдиреНрдЯ рдирдореНрдмрд░рд╣рд░реВ рдкреНрд░рд╢реЛрдзрди рдЧрд░реНрджрд╛ рдХреЛрдб рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрди рд╕рдХреНрдЫ рдЬрд╕рд▓реЗ ctypes рдореЗрдХрд╛рдирд┐рдЬрдо рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ C рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВ рдХрд▓ рдЧрд░реНрджрдЫред ред рд╕рдорд╕реНрдпрд╛рд▓реЗ рдкрд╛рдЗрдерди 3.8 рд░ 3.9 рд╢рд╛рдЦрд╛рд╣рд░реВрд▓рд╛рдИ рдкрдирд┐ рдЕрд╕рд░ рдЧрд░реНрдЫ, рддрд░ рддрд┐рдиреАрд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХрд╣рд░реВ рдЕрдЭреИ рдкрдирд┐ рд░рд┐рд▓рд┐рдЬ рдЙрдореНрдореЗрджреНрд╡рд╛рд░ рд╕реНрдерд┐рддрд┐рдорд╛ рдЫрдиреН (рдорд╛рд░реНрдЪ 1 рдХреЛ рд▓рд╛рдЧрд┐ рдЕрдиреБрд╕реВрдЪрд┐рдд рд░рд┐рд▓реАрдЬ)ред

рд╕рдорд╕реНрдпрд╛ ctypes рдкреНрд░рдХрд╛рд░реНрдп PyCArg_repr() рдорд╛ рдмрдлрд░ рдУрднрд░рдлреНрд▓реЛрдХреЛ рдХрд╛рд░рдгрд▓реЗ рднрдПрдХреЛ рд╣реЛ, рдЬреБрди sprintf рдХреЛ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рдкреНрд░рдпреЛрдЧрдХреЛ рдХрд╛рд░рдг рд╣реБрдиреНрдЫред рд╡рд┐рд╢реЗрд╖ рдЧрд░реА, рд░реВрдкрд╛рдиреНрддрд░рдгрдХреЛ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╢реЛрдзрди рдЧрд░реНрди 'sprintf(рдмрдлрд░, " ", self->рдЯреНрдпрд╛рдЧ, self->value.b)' рд▓реЗ 256 рдмрд╛рдЗрдЯ ("char buffer[256]") рдХреЛ рд╕реНрдерд┐рд░ рдмрдлрд░ рдЖрд╡рдВрдЯрд┐рдд рдЧрд░реНрдпреЛ, рдЬрдмрдХрд┐ рдкрд░рд┐рдгрд╛рдорд▓реЗ рдпреЛ рдорд╛рди рдирд╛рдШреНрди рд╕рдХреНрдЫред рднреЗрджреНрдпрддрд╛рдорд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдХреЛ рдЬреЛрдЦрд┐рдо рдЬрд╛рдБрдЪ рдЧрд░реНрди, рддрдкрд╛рдИрдВрд▓реЗ "1e300" рдорд╛рди рдкрд╛рд╕ рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рдЬреБрди, c_double.from_param рд╡рд┐рдзрд┐рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╢реЛрдзрди рдЧрд░реНрджрд╛, рдХреНрд░реНрдпрд╛рд╕ рд╣реБрдиреЗрдЫ, рдХрд┐рдирднрдиреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╕рдВрдЦреНрдпрд╛рдорд╛ 308 рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░рд╣рд░реВ рдЫрдиреН рд░ рдпрд╕рдорд╛ рдлрд┐рдЯ рд╣реБрдБрджреИрдиред 256-рдмрд╛рдЗрдЯ рдмрдлрд░ред рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рдХреЛрдбрдХреЛ рдЙрджрд╛рд╣рд░рдг: рдЖрдпрд╛рдд рдкреНрд░рдХрд╛рд░рд╣рд░реВ; x = ctypes.c_double.from_param(1e300); repr(x)

рд╕рдорд╕реНрдпрд╛ рдбреЗрдмрд┐рдпрди, Ubuntu рд░ FreeBSD рдорд╛ рдЕрдирд┐рд╢реНрдЪрд┐рдд рд░рд╣рдиреНрдЫ, рддрд░ Arch Linux, Fedora, SUSE рдорд╛ рдкрд╣рд┐рд▓реЗ рдиреИ рдлрд┐рдХреНрд╕ рдЧрд░рд┐рдПрдХреЛ рдЫред RHEL рдорд╛, FORTIFY_SOURCE рдореЛрдбрдорд╛ рдкреНрдпрд╛рдХреЗрдЬ рдЕрд╕реЗрдореНрдмреНрд▓реАрдХреЛ рдХрд╛рд░рдгрд▓реЗ рдХрдордЬреЛрд░реА рджреЗрдЦрд╛ рдкрд░реНрджреИрди, рдЬрд╕рд▓реЗ рд╕реНрдЯреНрд░рд┐рдЩ рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВрдорд╛ рддреНрдпрд╕реНрддрд╛ рдмрдлрд░ рдУрднрд░рдлреНрд▓реЛрд╣рд░реВрд▓рд╛рдИ рд░реЛрдХреНрдЫред

рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди