рд░реВрдмреА рдХреЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рд╕реЗрд╡рд╛ рд╕реЗ рдЗрдирдХрд╛рд░ рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд рдордирдорд╛рдирд╛ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрди

рд╕рдореНрдорд╛рдирд┐рдд рд░реВрдмреА рд╕рдореБрджрд╛рдп рдХреЛ рдмрдзрд╛рдИред

рдпрд╣ рдЕрдЬреАрдм рд╣реИ рдХрд┐ рдпрд╣ рдЦрдмрд░ рдЕрднреА рддрдХ рд╣реЗрдмреЗ рдкрд░ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд▓ рд╕реБрдмрд╣-рд╕реБрдмрд╣, рд░реВрдмреА рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдлреНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рдорд╛рдиреЛрдВ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рддреЗ рд╕рдордп рдПрдХ рдвреЗрд░ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рдХреА рд╕реВрдЪрдирд╛ рджреАред рднреЗрджреНрдпрддрд╛ рдХреЛ рдХреЛрдб CVE-2013-4164 рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИред рд▓реЛрдЧреЛрдВ рдиреЗ рдпрд╣ рднреА рдЪреЗрддрд╛рд╡рдиреА рджреА рд╣реИ рдХрд┐ рдпрд╣ рддреНрд░реБрдЯрд┐ рдХрдо рд╕реЗ рдХрдо рд╕реЗрд╡рд╛ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдбрд┐рдЧреНрд░реА рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рд╕рд╛рде рд░реВрдмреА рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдордирдорд╛рдирд╛ рдХреЛрдб рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред

рдХрдордЬреЛрд░ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреА рд╕реВрдЪреА:


рднреЗрджреНрдпрддрд╛ рд╡рд┐рд╡рд░рдг


рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдкреЛрд╕реНрдЯ рдореЗрдВ рд╡рд┐рд╡рд░рдг рдХрд╛рдлреА рджреБрд░реНрд▓рдн рд╣реИрдВред рдпрд╣ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдЬрдм рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдлреНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рдорд╛рди рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЧрдард┐рдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдвреЗрд░ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ рд╕реЗрд╡рд╛ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдордирдорд╛рдирд╛ рдХреЛрдб рдХрд╛ рд╕рдВрднрд╛рд╡рд┐рдд рдирд┐рд╖реНрдкрд╛рджрди рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдХрдордЬреЛрд░ рд╕рднреА рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╣реИрдВ рдЬреЛ рдЗрд╕ рд░реВрдкрд╛рдВрддрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рдЖрдо рдЙрджрд╛рд╣рд░рдг рддреАрд╕рд░реЗ рд╕реНрд░реЛрддреЛрдВ рд╕реЗ JSON рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рдФрд░ рдкрд╛рд░реНрд╕ рдХрд░рдирд╛ рд╣реИред

рдХрдордЬреЛрд░ рдХреЛрдб рдЗрд╕ рддрд░рд╣ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ:
untrusted_data.to_f 


рд╣рд╛рд▓рд╛рдБрдХрд┐, рдХреЛрдИ рднреА рдХреЛрдб рдЬреЛ рдмрд╛рд╣рд░реА рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рд╡реИрд▓реНрдпреВ рдмрдирд╛рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИ:
 JSON.parse untrusted_data 


рдирд┐рд░реНрдгрдп


рдбреЗрд╡рд▓рдкрд░реНрд╕ рдорд╛рдгрд┐рдХ 1.9.3 рдкреИрдЪрд╡реЗрд▓ 484, рд░реВрдмреА 2.0.0 рдкреИрдЪрд╡реЗрд▓ 353 рдпрд╛ рд░реВрдмреА 2.1.0 рдкреНрд░реАрд╡реНрдпреВ 2 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддреЗ рд╣реИрдВред рд╕рдВрд╕реНрдХрд░рдг 1.8 рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдХреЛрдИ рднреЗрджреНрдпрддрд╛ рддрдп рдирд╣реАрдВ рдХреА рдЧрдИ рд╣реИ ред рд░реВрдмреА 1.8 рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЕрдзрд┐рдХ рд╣рд╛рд▓ рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреА рдЬрд╛рддреА рд╣реИред

UPD: рдХреЗрд╡рд▓ рд░реВрдмреА MRI рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реИред рд░реБрдмрд┐рдирд┐рдпрд╕ рдФрд░ рдЬреЗрд░реА рд╡рд╣ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

Source: https://habr.com/ru/post/In196298/


All Articles