Moment: рдХрдордЬреЛрд░ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐

рдХреЛ рдирд┐рд░реНрдорд┐рдд 8 рд╕рд┐рддре░ 2017  ┬╖  24рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: moment/moment

рддрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рддрд╛рд░реАрдЦреЛрдВ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐, ReDoS рдХреЗ рд▓рд┐рдП рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИ:

/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i

рд╕реБрд╕реНрддреА рдордзреНрдпрдо рдХрдо рд╣реИ: 2 рд╕реЗрдХрдВрдб рдХреЗ рдорд┐рд▓рд╛рди рд╕рдордп рдХреЗ рдЖрд╕рдкрд╛рд╕ 50.000 рд╡рд░реНрдгреЛрдВ рдХреЗ рд▓рд┐рдПред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореИрдВ рдЕрднреА рднреА рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреВрдВрдЧрд╛:

  • рд░реЗрдЧреЗрдХреНрд╕ рдирд┐рдХрд╛рд▓реЗрдВ,
  • рд░реЗрдЧреНрдЬ рдПрдВрдХрд░,
  • рджреЛрд╣рд░рд╛рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╡рд░реНрдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╕реАрдорд┐рдд рдХрд░реЗрдВ,
  • рдЗрдирдкреБрдЯ рдЖрдХрд╛рд░ рдХреЛ рд╕реАрдорд┐рдд рдХрд░реЗрдВред

рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдореИрдВ рдордВрджреА рджрд┐рдЦрд╛рддреЗ рд╣реБрдП рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрджрд╛рд╣рд░рдг рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рд╣рдо рдЗрд╕рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕реБрдзрд╛рд░ рд╢реАрдШреНрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЕрдм рдЬрдм рдпрд╣ nsp рдореЗрдВ рд▓реЙрдЧ рдЗрди рд╣реЛ рдЧрдпрд╛ рд╣реИ рддреЛ рдпрд╣ рд╣рдорд╛рд░реЗ рдирд┐рд░реНрдорд╛рдг рдХреЛ рд╡рд┐рдлрд▓ рдХрд░ рд░рд╣рд╛ рд╣реИред

рд╕рднреА 24 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ matchWord regex рдореЗрдВ, /src/lib/parse/regex.js рдпрд╣рд╛рдБ рд╣реИ ред

рдпрд╣рд╛рдБ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдПрдХ рд░реЗрд▓рдорд╛рд░реНрдЧ рдЖрд░реЗрдЦ рд╣реИ ред рдЗрд╕рд╕реЗ рд╣рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЗ рд╕рд╛рде рд╕рдореВрд╣реАрдХрд░рдг рдЕрд░рдмреА рд╡рд░реНрдгреЛрдВ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред рдпрд╣ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ рдпрджрд┐ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдЬреЛ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдФрд░ рдЕрд░рдмреА рднрд╛рд╖рд╛ рджреЛрдиреЛрдВ рдХреЛ рд╕рдордЭрддрд╛ рд╣реИ, рд╡рд╣ рдЗрд╕ рдкрд░ рдПрдХ рджрд░рд╛рд░ рд▓реЗ рд╕рдХрддрд╛ рд╣реИред

ReDoS рдХрд╛

рдмреАрдорд╛рд░ рд▓реЗ рд▓реЛ рдпрд╣ рдХреЛрдИ рднреА рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╢реБрд░реВ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ

@hamiltondanielb рдЖрдк рд╕рднреА :)

@cristianstaicu
рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдореИрдВ рдордВрджреА рджрд┐рдЦрд╛рддреЗ рд╣реБрдП рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрджрд╛рд╣рд░рдг рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

рдореИрдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдБ рдЕрдЧрд░ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ :)

@ Drag0s рдиреЗ рдЗрд╕реЗ рдЖрдкрдХреЗ рдирд┐рдЬреА рдИрдореЗрд▓ рдкрд░ рднреЗрдЬрд╛ рд╣реИред

FYI рдХрд░реЗрдВ, рдЗрд╕реЗ NSP рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ ( рдпрд╣рд╛рдБ рджреЗрдЦреЗрдВ), рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╢рд╛рдпрдж рд▓реЛрдЧреЛрдВ рдХреЗ рдмрд┐рд▓реНрдб рдХреЛ рдЬрд▓реНрдж рд╣реА рддреЛрдбрд╝рдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИред

@hamiltondanielb - рдХреНрдпрд╛ рдЖрдк рдХрд╣реАрдВ рднреА рдЗрд╕реЗ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ?

рдмрд╕ рд╣рдорд╛рд░рд╛ рдмрд┐рд▓реНрдб рдмреНрд░реЗрдХ рдерд╛ ЁЯСп

рдпрд╣ рджреБрдЦрдж рд╣реИ рдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рддрдп рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╣реЛрдирд╛ рдкрдбрд╝рд╛ред рдЖрдЬ 8 рд╕рд┐рддрдВрдмрд░ рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдПрдирдПрд╕рдкреА рдХреА рд╕рд▓рд╛рд╣ рдкрд░ рдореБрджреНрджрд╛ рдЦреЛрд▓рд╛ рдЧрдпрд╛ред @cristianstaicu рд╢рд╛рдпрдж рдЖрдкрдХреЛ рдХреБрдЫ рд╕рдордп рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдХрдЯреАрдХрд░рдг рдХреА рд╕рдордп рд╕реАрдорд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╛рдж рджрд┐рд▓рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

@mattgrande рдЗрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдореЗрдЯрд╛-рдиреЗрд╕ рд╣реИ: nsp рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╣рдордиреЗ рдкрд┐рди рдХрд┐рдпрд╛ рдерд╛ (2.8.1) рдкрд▓ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ (рдЬреЛрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ) рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдирд┐рд░реНрднрд░рддрд╛ рдкрд░ рднреЗрджреНрдпрддрд╛ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░ рд░рд╣рд╛ рдерд╛:

1__bash

3.1.0 nsp рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛, рдЗрд╕рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд┐рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдирд┐рд░реНрднрд░рддрд╛ рдЕрдм рдирд╣реАрдВ рд╣реИ - рдЗрд╕рд▓рд┐рдП рдЗрд╕рд╕реЗ рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВ рдпрджрд┐ рдЖрдк рд╕реАрдзреЗ рдХреНрд╖рдг рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рд╣реИрдВред

рдХреНрдпрд╛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрднреА рддрдХ рдХреЛрдИ рддрдп рд╣реИ?

рдХреГрдкрдпрд╛ рдЙрдкрд▓рдмреНрдз рдХрд┐рд╕реА рднреА рдлрд┐рдХреНрд╕ рдХреА рд╕рд▓рд╛рд╣ рджреЗрдВ?

рдЕрднреА рддрдХ рдХреЛрдИ рдлрд┐рдХреНрд╕ рдкреНрд░рдХрд╛рд╢рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдХреГрдкрдпрд╛, рдпрджрд┐ рдЖрдк рдЕрдиреБрд░рдХреНрд╖рдХреЛрдВ рд╕реЗ рдЕрдкрдбреЗрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рджрд╛рд╣рд┐рдиреЗ рд╣рд╛рде рдХреЗ рдХреЙрд▓рдо рдореЗрдВ "рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдВ" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдЕрдкрдбреЗрдЯ рдХреЗ рд▓рд┐рдП рд╕реВрдЪрдирд╛рдУрдВ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдВред

рдЗрд╕рдХреЗ рд▓рд┐рдП nsp рдЕрдкрд╡рд╛рдж рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, .nsprc рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝реЗрдВ:

{
  "exceptions": [
     "https://nodesecurity.io/advisories/532"
  ]
}

рдзрдиреНрдпрд╡рд╛рдж @ westy92 ! рдореЗрд░рд╛ рдирд┐рд░реНрдорд╛рдг рдмрдЪрд╛рдпрд╛ред

рд╣рд╛рдп @ westy92 рдФрд░
var рдХрд╛рд░реНрдпрдореИрдереЛрдбреНрд╕ = рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ ('рдЧреБрд▓рдлрд╝рд┐рд▓реЗ-рдирд┐рдиреНрдХреЗрдо');
gulp.task ('nsp', functionsMethods.nsp);
рдЗрд╕рдХреЗ .nsprc рдлрд╝рд╛рдЗрд▓ рдЕрдкрд╡рд╛рдж рдХреЛ рдирд╣реАрдВ рдЙрдард╛ рд░рд╣рд╛ рд╣реИред рдпрд╣ рдореБрдЭреЗ рдкрд▓-рдкрд▓ рдХреЗ рд▓рд┐рдП рднреЗрджреНрдпрддрд╛ рддреНрд░реБрдЯрд┐ рджреЗрддрд╛ рд░рд╣рддрд╛ рд╣реИред
рдореИрдВрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд░реВрдЯ рдкрд░ рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝реАред рдХреНрдпрд╛ рдореБрдЭреЗ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдпрд╛рдж рдЖ рд░рд╣рд╛ рд╣реИ?

@Dexterslab рд╣рдо gulp-nsp рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬреЛ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬрдм .nsprc рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ (рд╕рдорд╛рди рд╕реНрддрд░ package.json )ред рд╢рд╛рдпрдж gulp-nsp рд╕реАрдзреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ?

@cristianstaicu @mattgrande рдХреНрдпрд╛

рд╣рдо рдЗрд╕рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕реБрдзрд╛рд░ рд╢реАрдШреНрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЕрдм рдЬрдм рдпрд╣ nsp рдореЗрдВ рд▓реЙрдЧ рдЗрди рд╣реЛ рдЧрдпрд╛ рд╣реИ рддреЛ рдпрд╣ рд╣рдорд╛рд░реЗ рдирд┐рд░реНрдорд╛рдг рдХреЛ рд╡рд┐рдлрд▓ рдХрд░ рд░рд╣рд╛ рд╣реИред

рдХреНрдпрд╛ рдореИрдВ рдЕрдиреБрд░рдХреНрд╖рдХреЛрдВ рдХреЛ рдЗрд╕ рдХреЙрдирд╡реЛ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗ рд╕рдХрддрд╛ рд╣реВрдВ?
рдПрдХ рдлрд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдП рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣реЗ рд╕рднреА рдХреЗ рд▓рд┐рдП, рдмрд╕ рд╕рджрд╕реНрдпрддрд╛ рдмрдЯрди рджрдмрд╛рдПрдВ, рдФрд░ рдЖрдкрдХреЛ рд╕реВрдЪрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ рднреА рдареАрдХ рдХрд░рдирд╛ рд╣реИ, рддреЛ рдмреЗрдЭрд┐рдЭрдХ рдкреАрдЖрд░ рдЦреЛрд▓реЗрдВред

рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдкреАрдЖрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА https://github.com/moment/moment/pull/4326 рд╣реИ

рдХреНрдпрд╛ рдХрд┐рд╕реА рдХреЛ nsp рд╕реВрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдпрд╣ рдкреИрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ? https://nodesecurity.io/advisories/532

рдпрд╣ рд╕рдВрд╕реНрдХрд░рдг 2.19.3 рдореЗрдВ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рддрджрдиреБрд╕рд╛рд░ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВред

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ NSP - @cristianstaicu рдХреЛ рдХреИрд╕реЗ рд╕реВрдЪрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

рдореИрдВрдиреЗ [email protected] рдИрдореЗрд▓

рдирдорд╕реНрддреЗ,

рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдмрдХрд╛рдпрд╛ рдкрд▓.рдЬреЗрдПрд╕ рднреЗрджреНрдпрддрд╛ (https://nodesecurity.io/advisories/532) рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдкреИрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рд╕рд▓рд╛рд╣рдХрд╛рд░реЛрдВ рдкрд░ рд╕реНрдерд┐рддрд┐ рдЕрдкрдбреЗрдЯ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ? рдпрд╣ рдИрдореЗрд▓ рдкрддрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдПрд╡реЗрдиреНрдпреВ рд╣реИ рдЬреЛ рдореБрдЭреЗ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИред

рдзрдиреНрдпрд╡рд╛рдж!

рдмрд╕ рдПрдХ рдЬрд╡рд╛рдм рдорд┐рд▓рд╛ рдХрд┐ рдПрдирдПрд╕рдкреА рдбреАрдмреА рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ 2.19.3 рдХреЗ рд╕рд╛рде рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореЗрд░реЗ рдЕрдВрдд рдореЗрдВ рд╕рддреНрдпрд╛рдкрд┐рдд рд╣реИ рдХрд┐ 2.19.3 рдЕрдм рдЕрд▓рд░реНрдЯ рдирд╣реАрдВ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

dogukankotan picture dogukankotan  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ninigix picture ninigix  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

slavafomin picture slavafomin  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

alvarotrigo picture alvarotrigo  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

IbraheemAlSaady picture IbraheemAlSaady  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ