JSP кодун алмаштырууга жана веб-тиркеме файлдарын алууга мүмкүндүк берген Apache Tomcat-тагы аялуу

Кытайдын Chaitin Tech компаниясынын изилдөөчүлөрү аныкташты аялуу (CVE-2020-1938) менен Apache Tomcat, Java Servlet, JavaServer Pages, Java Expression Language жана Java WebSocket технологияларын ачык ишке ашыруу. Алсыздыкка Ghostcat код аты ыйгарылган жана оордуктун критикалык деңгээли (9.8 CVSS) ыйгарылган. Көйгөй демейки конфигурацияда 8009 тармак портуна суроо-талапты жөнөтүү аркылуу веб-тиркеме каталогунан каалаган файлдардын мазмунун, анын ичинде орнотуулары жана колдонмонун баштапкы коддору бар файлдарды окууга мүмкүндүк берет.

Абал ошондой эле башка файлдарды тиркеме кодуна импорттоого мүмкүндүк берет, эгерде тиркеме файлдарды серверге жүктөөгө уруксат берсе, серверде кодду аткарууга мүмкүндүк берет (мисалы, чабуулчу JSP скриптин сүрөт катары жамынып жүктөй алат. сүрөт жүктөө формасы). Кол салуу AJP иштетүүчүсү менен тармак портуна суроо-талап жөнөтүү мүмкүн болгондо жүргүзүлүшү мүмкүн. Алдын ала маалыматтар боюнча, онлайн табылган AJP протоколу аркылуу суроо-талаптарды кабыл алган 1.2 миллиондон ашык хост.

Алсыздык AJP протоколунда бар жана чакырылган эмес ишке ашыруудагы ката. HTTP (порт 8080) аркылуу туташууну кабыл алуудан тышкары, Apache Tomcat демейки боюнча AJP протоколу аркылуу веб-тиркемеге кирүүгө мүмкүндүк берет (Apache Jserv протоколу, порт 8009), бул HTTP'дин экилик аналогу болуп саналат, ал жогорураак иштөө үчүн оптималдаштырылган, адатта Tomcat серверлеринин кластерин түзүүдө же тескери проксиде же жүк балансында Tomcat менен өз ара аракеттенүүнү тездетүү үчүн колдонулат.

AJP сервердеги файлдарга кирүү үчүн стандарттуу функцияны камсыз кылат, аны колдонууга болот, анын ичинде ачылууга жатпай турган файлдарды алуу. AJP ишенимдүү серверлер үчүн гана жеткиликтүү болушу керек, бирок чындыгында Tomcat'тын демейки конфигурациясы иштеткичти бардык тармак интерфейстеринде иштетип, аутентификациясыз кабыл алынган суроо-талаптарды аткарды. WEB-INF, META-INF жана ServletContext.getResourceAsStream() дарегине чалуу аркылуу берилген башка каталогдордун мазмунун кошо алганда, каалаган веб-тиркеме файлдарына кирүү мүмкүн. AJP ошондой эле веб-тиркемеге жеткиликтүү каталогдордогу каалаган файлды JSP скрипти катары колдонууга мүмкүндүк берет.

Көйгөй 13 жыл мурун чыгарылган Tomcat 6.x бутагынан бери пайда болду. Tomcat көйгөйүнөн тышкары таасир этет жана Red Hat JBoss Web Server (JWS), JBoss Enterprise Application Platform (EAP) сыяктуу аны колдонгон өнүмдөр, ошондой эле өз алдынча веб тиркемелерди колдонгон Жазгы жүктөө. Окшош аялуу (CVE-2020-1745) азыркы веб-серверде шаар астында, Wildfly колдонмо серверинде колдонулат. JBoss жана Wildflyде AJP демейки боюнча domain.xml ичиндеги standalone-full-ha.xml, standalone-ha.xml жана ha/full-ha профилдеринде гана иштетилет. Жазгы жүктөөдө, AJP колдоосу демейки боюнча өчүрүлгөн. Учурда ар кандай топтор эксплуатациянын ондон ашык жумушчу үлгүлөрүн даярдашкан (
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11).

Tomcat релиздеринде кемчилик аныкталган 9.0.31, 8.5.51 и 7.0.100 (6.x тармагын тейлөө токтотулган). Бул баракчалардан бөлүштүрүүчү топтомдордогу жаңыртуулардын болушуна көз салсаңыз болот: Debian, Ubuntu, RHEL, Fedora, suse, FreeBSD. Чечим катары, Tomcat AJP Connector кызматын өчүрө аласыз (угуу розеткасын localhost менен байланыштырыңыз же Connector порту = "8009" менен линияга комментарий бериңиз), эгерде ал керек болбосо, же күүлөө Эгер кызмат mod_jk жана mod_proxy_ajp (mod_cluster аутентификацияны колдобойт) негизинде башка серверлер жана проксилер менен иштешүү үчүн колдонулса, "жашыруун" жана "дарек" атрибуттарын колдонуу менен аутентификацияланган кирүү.

Source: opennet.ru

Комментарий кошуу