Ghostcat, ang kahinaan sa Tomcat na maaaring palitan ang code

multo

Ang mga mananaliksik mula sa Chaitin Tech, China ay pinakawalan impormasyon tungkol sa isang bagong tuklas, tulad ng nakilala nila isang kahinaan sa tanyag na lalagyan ng servlet (Java Servlet, Mga Pahina ng JavaServer, Wika ng Ekspresyon ng Java at Java WebSocket) Apache tomcat (nakalista na bilang CVE-2020-1938).

Ang kahinaan na ito itinalaga sa kanila ang code name na "Ghostcat" at isang kritikal na antas ng kalubhaan (9.8 CVSS). Ang problema ay nagbibigay-daan sa default na pagsasaayos upang magpadala ng isang kahilingan sa pamamagitan ng network port 8009 upang basahin ang nilalaman ng anumang file sa direktoryo ng web application, kabilang ang mga code ng mapagkukunan ng application at mga file ng pagsasaayos.

Pinapayagan din ng kahinaan ang pag-import ng iba pang mga file sa application code, na pinapayagan ayusin ang pagpapatupad ng code sa server kung pinapayagan ng application ang mga file na mai-upload sa server.

Halimbawa, pinapayagan ba ng application ng website ang mga gumagamit na mag-upload ng mga file, maaaring maningil ng isang umaatake una isang file na naglalaman ng JSP script code nakakahamak sa server (ang na-upload na file mismo ay maaaring maging anumang uri ng file, tulad ng mga imahe, payak na mga file ng teksto, atbp.) at pagkatapos ay isama ang nai-upload na file sa pamamagitan ng pagsasamantala sa kahinaan mula sa Ghostcat, na maaaring magresulta sa malayuang pagpapatupad ng code.

Nabanggit din na ang isang pag-atake ay maaaring gawin kung posible na magpadala ng isang kahilingan sa isang port ng network kasama ang isang driver ng AJP. Ayon sa paunang datos, nahanap ang network higit sa 1.2 milyong host na tumatanggap ng mga kahilingan gamit ang AJP protocol.

Ang kahinaan ay naroroon sa AJP protocol at hindi ito sanhi ng isang error sa pagpapatupad.

Bilang karagdagan sa pagtanggap ng mga koneksyon sa HTTP (port 8080) sa Apache Tomcat, bilang default posible na mag-access sa web application gamit ang AJP protocol (Apache Jserv Protocol, port 8009), na isang binary analog ng HTTP na na-optimize para sa mas mataas na pagganap, na karaniwang ginagamit kapag lumilikha ng isang kumpol mula sa mga server ng Tomcat o upang mapabilis ang pakikipag-ugnay sa Tomcat sa isang reverse proxy o load balancer.

Nagbibigay ang AJP ng isang karaniwang pag-andar upang ma-access ang mga file sa server, na maaaring magamit, kasama ang resibo ng mga file na hindi napapailalim sa pagsisiwalat.

Nauunawaan na ang pag-access sa Ang AJP ay bukas lamang sa mga pinagkakatiwalaang lingkodngunit sa katunayan, sa default na pagsasaayos ng Tomcat, ang driver ay inilunsad sa lahat ng mga interface ng network at ang mga kahilingan ay tinanggap nang walang pagpapatotoo.

Posible ang pag-access sa anumang file sa web application, kasama ang mga nilalaman ng WEB-INF, META-INF, at anumang iba pang direktoryo na ibinalik sa pamamagitan ng tawag sa ServletContext.getResourceAsStream (). Pinapayagan ka rin ng AJP na gumamit ng anumang file sa mga direktoryo na magagamit sa isang web application bilang isang script ng JSP.

Ang problema ay maliwanag mula nang ang Tomcat 6.x branch ay pinakawalan 13 taon na ang nakakaraan. Bilang karagdagan kay Tomcat mismo, nakakaapekto rin ang problema sa mga produktong gumagamit nito, tulad ng Red Hat JBoss Web Server (JWS), JBoss Enterprise Application Platform (EAP), pati na rin ang mga standalone na web application na gumagamit ng Spring Boot.

Rin natagpuan ang isang katulad na kahinaan (CVE-2020-1745) sa Undertow web server ginamit sa server ng application ng Wildfly. Sa kasalukuyan, ang iba't ibang mga grupo ay naghanda ng higit sa isang dosenang mga gumaganang halimbawa ng mga pagsasamantala.

Opisyal na naglabas ang Apache Tomcat ng mga bersyon 9.0.31, 8.5.51 at 7.0.100 upang maitama ang kahinaan na ito. Upang maitama nang tama ang kahinaan na ito, dapat mo munang matukoy kung ang serbisyo ng Tomcat AJP Connector ay ginagamit sa iyong server na kapaligiran:

  • Kung ang cluster o reverse proxy ay hindi ginamit, maaari itong matukoy na hindi ginagamit ang AJP.
  •  Kung hindi, kailangan mong malaman kung ang cluster o reverse server ay nakikipag-usap sa serbisyo ng Tomcat AJP Connect

Nabanggit din yan ang mga update ay magagamit na ngayon sa iba't ibang mga pamamahagi ng Linux tulad ng: Debian, Ubuntu, RHEL, Fedora, SUSE.

Bilang isang workaround, maaari mong hindi paganahin ang serbisyo ng Tomcat AJP Connector (igapos ang socket ng pakikinig sa localhost o bigyan ng puna ang linya sa Connector port = »8009 ″), kung hindi kinakailangan, o i-configure ang napatunayang pag-access.

Kung nais mong malaman ang tungkol dito maaari kang kumunsulta ang sumusunod na link. 


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.