Π‘ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΡΡΡΠΈΠ΅ ΡΠ΅Π»ΠΈΠ·Ρ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ruby , ΠΈ , Π² ΠΊΠΎΡΠΎΡΡΡ ΡΡΡΡΠ°Π½Π΅Π½Ρ ΡΠ΅ΡΡΡΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ. ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΎΠΏΠ°ΡΠ½Π°Ρ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ (CVE-2019-16255) Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ (lib/shell.rb), ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈΡΡ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΡ ΠΊΠΎΠ΄Π°. Π ΡΠ»ΡΡΠ°Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄Π°Π½Π½ΡΡ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Shell#[] ΠΈΠ»ΠΈ Shell#test, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π°Π»ΠΈΡΠΈΡ ΡΠ°ΠΉΠ»Π°, Π°ΡΠ°ΠΊΡΡΡΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ Π΄ΠΎΠ±ΠΈΡΡΡΡ Π²ΡΠ·ΠΎΠ²Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ Ruby-ΠΌΠ΅ΡΠΎΠ΄Π°.
ΠΡΡΠ³ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ:
- β ΠΏΠΎΠ΄Π²Π΅ΡΠΆΠ΅Π½Π½ΠΎΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ http-ΡΠ΅ΡΠ²Π΅ΡΠ° Π°ΡΠ°ΠΊΠ΅ ΠΏΠΎ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΎΡΠ²Π΅ΡΠΎΠ² HTTP (Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π΅ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² HTTP-Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΎΡΠ²Π΅ΡΠ°, ΡΠΎ ΡΠ΅ΡΠ΅Π· Π²ΡΡΠ°Π²ΠΊΡ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ΡΡΡΠΎΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ);
- ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π½ΡΠ»Π΅Π²ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° (\0) Π² ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌΡΠ΅ ΡΠ΅ΡΠ΅Π· ΠΌΠ΅ΡΠΎΠ΄Ρ Β«File.fnmatchΒ» ΠΈ Β«File.fnmatch?Β» ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠ΅ ΠΏΡΡΠΈ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° Π΄Π»Ρ Π»ΠΎΠΆΠ½ΠΎΠ³ΠΎ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ;
- β ΠΎΡΠΊΠ°Π· Π² ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠΈ Π² ΠΌΠΎΠ΄ΡΠ»Π΅ Diges-Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π΄Π»Ρ WEBrick.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
