Grails вэб фреймворк болон TZInfo Ruby модулийн эмзэг байдал

JVM-д зориулсан Java, Groovy болон бусад хэл дээрх MVC парадигмын дагуу вэб программуудыг хөгжүүлэхэд зориулагдсан Grails вэб фреймворк дээр вэбийн орчинд өөрийн кодыг алсаас ажиллуулах боломжийг олгодог эмзэг байдлыг илрүүлсэн. програм ажиллаж байна. Халдагчид ClassLoader-д хандах боломжийг олгодог тусгайлан боловсруулсан хүсэлтийг илгээснээр эмзэг байдлыг ашигладаг. Асуудал нь объект үүсгэх үед болон bindData ашиглан гараар холбоход хэрэглэгддэг өгөгдөл холбох логикийн алдаанаас үүдэлтэй юм. Асуудлыг 3.3.15, 4.1.1, 5.1.9, 5.2.1 хувилбаруудад шийдвэрлэсэн.

Нэмж дурдахад бид tzinfo Ruby модулийн эмзэг байдлыг тэмдэглэж болох бөгөөд энэ нь халдлагад өртсөн програмын хандалтын эрхийг зөвшөөрснөөр аливаа файлын агуулгыг татаж авах боломжийг олгодог. Энэ эмзэг байдал нь TZInfo::Timezone.get аргад заасан цагийн бүсийн нэрэнд тусгай тэмдэгт ашигласан эсэхийг зохих ёсоор шалгаагүйтэй холбоотой юм. Энэ асуудал нь TZInfo::Timezone.get руу баталгаажуулаагүй гадаад өгөгдлийг дамжуулдаг програмуудад нөлөөлж байна. Жишээлбэл, /tmp/payload файлыг уншихын тулд "foo\n/../../../tmp/payload" гэх мэт утгыг зааж өгч болно.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх