Ailagbara ni Apache Tomcat ti o fun ọ laaye lati paarọ koodu JSP ati gba awọn faili ohun elo wẹẹbu

Awọn oniwadi lati ile-iṣẹ China Chaitin Tech ti ṣe awari ailagbara (CVE-2020-1938) ninu Apache Tomcat, imuse ṣiṣi ti Java Servlet, Awọn oju-iwe JavaServer, Ede Ikosile Java ati awọn imọ-ẹrọ WebSocket Java. Ailagbara naa ni a ti sọtọ orukọ koodu Ghostcat ati ipele iwuwo to ṣe pataki (9.8 CVSS). Iṣoro naa ngbanilaaye, ni iṣeto aiyipada, nipa fifiranṣẹ ibeere kan lori ibudo nẹtiwọki 8009, lati ka awọn akoonu ti eyikeyi awọn faili lati inu ilana ohun elo wẹẹbu, pẹlu awọn faili pẹlu awọn eto ati awọn koodu orisun ohun elo.

Ailagbara naa tun jẹ ki o ṣee ṣe lati gbe awọn faili miiran wọle sinu koodu ohun elo, eyiti ngbanilaaye fun ipaniyan koodu lori olupin ti ohun elo naa ba gba awọn faili laaye lati gbe si olupin naa (fun apẹẹrẹ, ikọlu le gbe iwe afọwọkọ JSP kan para bi aworan nipasẹ fọọmu ikojọpọ aworan). Ikọlu naa le ṣee ṣe nigbati o ṣee ṣe lati firanṣẹ ibeere kan si ibudo nẹtiwọọki pẹlu olutọju AJP kan. Gẹgẹbi data alakoko, ori ayelujara ri diẹ sii ju 1.2 milionu awọn ọmọ ogun gbigba awọn ibeere nipasẹ ilana AJP.

Ailagbara naa wa ninu ilana AJP, ati ko pe aṣiṣe ni imuse. Ni afikun si gbigba awọn asopọ nipasẹ HTTP (ibudo 8080), Apache Tomcat nipasẹ aiyipada gba iraye si ohun elo wẹẹbu nipasẹ ilana AJP (Apache Jserv Ilana, ibudo 8009), eyiti o jẹ afọwọṣe alakomeji ti HTTP iṣapeye fun iṣẹ ṣiṣe ti o ga julọ, nigbagbogbo lo nigbati o ṣẹda iṣupọ ti awọn olupin Tomcat tabi lati yara ibaraenisepo pẹlu Tomcat lori aṣoju yiyipada tabi iwọntunwọnsi fifuye.

AJP n pese iṣẹ boṣewa fun iraye si awọn faili lori olupin, eyiti o le ṣee lo, pẹlu gbigba awọn faili ti ko ṣe koko-ọrọ si sisọ. AJP yẹ ki o wa ni iraye si awọn olupin ti o ni igbẹkẹle nikan, ṣugbọn ni otitọ iṣeto ni aiyipada Tomcat ṣiṣẹ olutọju lori gbogbo awọn atọkun nẹtiwọọki ati awọn ibeere ti o gba laisi ijẹrisi. Wiwọle ṣee ṣe si eyikeyi awọn faili ohun elo wẹẹbu, pẹlu awọn akoonu ti WEB-INF, META-INF ati awọn ilana miiran ti a pese nipasẹ ipe si ServletContext.getResourceAsStream(). AJP tun gba ọ laaye lati lo faili eyikeyi ninu awọn ilana ti o wa si ohun elo wẹẹbu bi iwe afọwọkọ JSP kan.

Iṣoro naa ti n farahan lati ẹka Tomcat 13.x ti a tu silẹ ni ọdun 6 sẹhin. Ayafi Tomcat funrararẹ jẹ iṣoro kan ni ipa lori ati awọn ọja ti o lo, gẹgẹbi Red Hat JBoss Web Server (JWS), JBoss Enterprise Application Platform (EAP), ati awọn ohun elo ayelujara ti ara ẹni ti o lo. Bata orisun omi. Ipalara ti o jọra (CVE-2020-1745) lọwọlọwọ ninu olupin ayelujara Ṣẹṣẹ, ti a lo ninu olupin ohun elo Wildfly. Ni JBoss ati Wildfly, AJP ti ṣiṣẹ nipasẹ aiyipada nikan ni standalone-full-ha.xml, standalone-ha.xml ati ha/ful-ha awọn profaili ni domain.xml. Ni Orisun Boot, atilẹyin AJP jẹ alaabo nipasẹ aiyipada. Lọwọlọwọ, awọn ẹgbẹ oriṣiriṣi ti pese diẹ sii ju awọn apẹẹrẹ ṣiṣẹ mejila ti awọn ilokulo (
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11).

Ailagbara ti o wa titi ni awọn idasilẹ Tomcat 9.0.31, 8.5.51 и 7.0.100 (itọju ti eka 6.x dawọ duro). O le tọpa wiwa awọn imudojuiwọn ni awọn ohun elo pinpin lori awọn oju-iwe wọnyi: Debian, Ubuntu, RHEL, Fedora, suse, FreeBSD. Gẹgẹbi iṣẹ-ṣiṣe, o le mu iṣẹ Asopọ Tomcat AJP ṣiṣẹ (di iho igbọran si localhost tabi sọ asọye laini pẹlu ibudo Asopọ = "8009") ti ko ba nilo, tabi tune wiwọle ti o ni idaniloju nipa lilo awọn abuda “asiri” ati “adirẹsi”, ti o ba lo iṣẹ naa lati ṣe ajọṣepọ pẹlu awọn olupin miiran ati awọn aṣoju ti o da lori mod_jk ati mod_proxy_ajp (mod_cluster ko ṣe atilẹyin ijẹrisi).

orisun: opennet.ru

Fi ọrọìwòye kun