Уразлівасці ў web-фрэймворку Grails і Ruby-модулі TZInfo

У web-фрэймворку Grails, прызначаным для распрацоўкі web-прыкладанняў у адпаведнасці з парадыгмай MVC на Java, Groovy і на іншых мовах для JVM, выяўлена ўразлівасць, якая дазваляе выдалена выканаць свой код у асяроддзі, у якім выконваецца web-прыкладанне. Эксплуатацыя ўразлівасці вырабляецца праз адпраўку спецыяльна аформленага запыту, які прадстаўляе атакаваламу доступ да ClassLoader. Праблема выклікана недапрацоўкай у логіцы прывязкі дадзеных (data-binding), якая выкарыстоўваецца як пры стварэнні аб'ектаў, так і пры ручной прывязцы пры дапамозе 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

Дадаць каментар