Apache Tomcat-da JSP kodunu əlavə etməyə və web tətbiqlərinin fayllarını əldə etməyə imkan tanıyan zəiflik

Çin şirkəti Chaitin Tech-dən araşdırmaçılar zəiflik (CVE-2020-1938) da Apache Tomcat, Java Servlet, JavaServer Pages, Java Expression Language və Java WebSocket texnologiyalarının açıq reallaşdırmasıdır. Zəifliyə Ghostcat kod adı verilib və kritik təhlükə dərəcəsi (9.8 CVSS) təyin edilib. Problemin nəticəsində, standart konfiqurasiyada, 8009 şəbəkə portuna sorğu göndərməklə, web-applikasiyanın kataloğundakı istənilən faylın məzmununu oxumaq mümkündür, o cümlədən konfiqurasiya faylları və tətbiqin mənbə kodları.

Zəiflik eyni zamanda tətbiq koduna digər faylları idxal etməyə imkan verir ki, bu da tətbiq şəbəkəyə fayl yükləməyə icazə verərsə, serverdə kod icrasına səbəb ola bilər (məsələn, hücum edən şəkil yükləmə formasından istifadə edərək JSP skriptini şəkil kimi yükləyə bilər). Hücum AJP işleyicisi olan şəbəkə portuna sorğu göndərmə imkanı olduqda həyata keçirilə bilər. Əvvəlki məlumatlara əsasən, şəbəkədə tapılmışdır 1.2 milyon ədəd AJP protokoluna sorğu qəbul edən hostlardan çox.

Zəiflik AJP protokolunda mövcuddur, ərəfəsində yaranmamışdır implementasiya səhvi.HTTP (8080 portu) üzərindən əlaqələrin qəbul edilməsinin yanında, Apache Tomcat-da standart konfiqurasiyada web-applikasiyaya AJP protokolu (Apache Jserv Protocol

, 8009 portu) vasitəsilə müraciət etmək mümkündür ki, bu da performansı artırmaq üçün optimallaşdırılmış HTTP-nin ikili analoqudur və adətən Tomcat-serverlərindən ibarət klaster yaradılarkən və ya Tomcat-ın arxa proxy və ya yük balanslaşdırıcısı ilə qarşılıqlı əlaqəsini sürətləndirmək üçün istifadə olunur.

AJP, serverdəki fayllara giriş üçün standart bir funksiyanı təmin edir ki, bu da qeyri-rekabetli faylların əldə olunması üçün də istifadə oluna bilər. AJP-yə girişin yalnız etibarlı serverlər üçün açıq olması nəzərdə tutulur, lakin faktik olaraq Tomcat-da standart konfiqurasiya ilə işleyici bütün şəbəkə interfeyslərində yaranmışdır və sorğular autentifikasiya olmadan qəbul edilmişdir. Web-applikasiyanın istənilən faylına, o cümlədən WEB-INF, META-INF və ServletContext.getResourceAsStream() vasitəsilə çağırılan digər kataloqlara giriş mümkündür. AJP eyni zamanda web-applikasiyaya açıq olan kataloqlardan istənilən faylı JSP skript olaraq istifadə etməyə imkan verir. its own implementation Problemin təsiri 13 il əvvəl çıxarılmış Tomcat 6.x şaxəsində başlayır. Təkcə Tomcat-lə bağlı deyil, problem Spring Bootvə bunu istifadə edən məhsullar, məsələn, Red Hat JBoss Web Server (JWS), JBoss Enterprise Application Platform (EAP), eləcə də təqribən web-serveri Undertow, Wildfly tətbiq serverində tətbiq olunan. JBoss və Wildfly-da AJP protokolu yalnız standalone-full-ha.xml, standalone-ha.xml və ha/full-ha profillərində domain.xml içində standart konfiqurasiyada aktivdir. Spring Boot-da AJP dəstəyi standart olaraq deaktivdir. Hazırda müxtəlif qruplar tərəfindən bir neçə onlarla işləyən exploit nümunələri hazırlanmışdır ("
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11).

Zəiflik Tomcat versiyalarında aradan qaldırılıb 9.0.31, 8.5.517.0.100 (6.x budağının dəstəyi göstərilməmişdir). Yeniləmənin paylamalarda görünməsini aşağıdakı səhifələrdən izləyə bilərsiniz: Debian, Ubuntu, RHEL, Fedora, SUSE, FreeBSD. Müdafiə üçün çevik yanaşma olaraq, Tomcat AJP Connector xidmətini deaktiv edə bilərsiniz (dinləyən soketi localhost ilə bağlayın və ya "Connector port = '8009'" sətirini şərh edin), əgər buna ehtiyac yoxdursa, və ya konfiqurasiya edin autentifikasiya edilmiş giriş "secret" və "address" atributları ilə, əgər xidmət digər serverlər və mod_jk, mod_proxy_ajp əsaslı proxy-lərlə əlaqə üçün istifadə olunursa (mod_cluster autentifikasiyanı dəstəkləmir).

Mənbə: opennet.ru

DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər 🔥 DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər | ProHoster