Уязвимости Π² ΡƒΠ΅Π± Ρ€Π°ΠΌΠΊΠ°Ρ‚Π° Π½Π° Grails ΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π° TZInfo Ruby

Π’ ΡƒΠ΅Π± Ρ€Π°ΠΌΠΊΠ°Ρ‚Π° Π½Π° Grails, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅ Π½Π° ΡƒΠ΅Π± прилоТСния Π² ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΈΠ΅ с MVC ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ°Ρ‚Π° Π² Java, Groovy ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ Π΅Π·ΠΈΡ†ΠΈ Π·Π° JVM, Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½Π° уязвимост, която Π²ΠΈ позволява ΠΎΡ‚Π΄Π°Π»Π΅Ρ‡Π΅Π½ΠΎ Π΄Π° ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚Π΅ своя ΠΊΠΎΠ΄ Π² срСдата, Π² която ΡƒΠ΅Π± ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈ. Уязвимостта сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Ρ‡Ρ€Π΅Π· ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° спСциално ΠΈΠ·Ρ€Π°Π±ΠΎΡ‚Π΅Π½Π° заявка, която Π΄Π°Π²Π° Π½Π° атакуващия Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ ClassLoader. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅Π½ ΠΎΡ‚ Π³Ρ€Π΅ΡˆΠΊΠ° Π² Π»ΠΎΠ³ΠΈΠΊΠ°Ρ‚Π° Π·Π° ΠΎΠ±Π²ΡŠΡ€Π·Π²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ, която сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ°ΠΊΡ‚ΠΎ ΠΏΡ€ΠΈ създаванС Π½Π° ΠΎΠ±Π΅ΠΊΡ‚ΠΈ, Ρ‚Π°ΠΊΠ° ΠΈ ΠΏΡ€ΠΈ Ρ€ΡŠΡ‡Π½ΠΎ ΠΎΠ±Π²ΡŠΡ€Π·Π²Π°Π½Π΅ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° bindData. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ бСшС Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ във вСрсии 3.3.15, 4.1.1, 5.1.9 ΠΈ 5.2.1.

Π”ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΎΡ‚Π±Π΅Π»Π΅ΠΆΠΈΠΌ уязвимост Π² Ruby ΠΌΠΎΠ΄ΡƒΠ»Π° tzinfo, ΠΊΠΎΠΉΡ‚ΠΎ Π²ΠΈ позволява Π΄Π° ΠΈΠ·Ρ‚Π΅Π³Π»ΠΈΡ‚Π΅ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° всСки Ρ„Π°ΠΉΠ», Π΄ΠΎΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ ΠΏΡ€Π°Π²Π°Ρ‚Π° Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π½Π° Π°Ρ‚Π°ΠΊΡƒΠ²Π°Π½ΠΎΡ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ позволяват. Уязвимостта сС дълТи Π½Π° липсата Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° спСциални Π·Π½Π°Ρ†ΠΈ Π² ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° часовата Π·ΠΎΠ½Π°, посочСна Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° TZInfo::Timezone.get. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ засяга прилоТСния, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΡ€Π΅Π΄Π°Π²Π°Ρ‚ Π½Π΅ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΈ външни Π΄Π°Π½Π½ΠΈ Π½Π° TZInfo::Timezone.get. НапримСр, Π·Π° Π΄Π° ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ Ρ„Π°ΠΉΠ»Π° /tmp/payload, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° посочитС стойност ΠΊΠ°Ρ‚ΠΎ "foo\n/../../../tmp/payload".

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€