Vilnerabilite nan Apache Tomcat ki pèmèt ou ranplase kòd JSP epi jwenn dosye aplikasyon entènèt

Chèchè nan konpayi Chinwa Chaitin Tech te dekouvri vilnerabilite (CVE-2020-1938) an Apache tomcat, yon aplikasyon ouvè nan Java Servlet, JavaServer Pages, Java Expression Language ak Java WebSocket teknoloji. Yo te bay vilnerabilite a non kòd Ghostcat ak yon nivo severite kritik (9.8 CVSS). Pwoblèm nan pèmèt, nan konfigirasyon an default, lè w voye yon demann sou pò rezo 8009, li sa ki nan nenpòt ki dosye ki soti nan anyè aplikasyon entènèt la, ki gen ladan fichye ak paramèt ak kòd sous aplikasyon an.

Vilnerabilite a tou fè li posib pou enpòte lòt dosye nan kòd aplikasyon an, ki pèmèt pou ekzekisyon kòd sou sèvè a si aplikasyon an pèmèt dosye yo dwe Uploaded sou sèvè a (pa egzanp, yon atakè ka telechaje yon script JSP degize kòm yon imaj atravè fòm telechaje imaj la). Atak la ka fèt lè li posib pou voye yon demann nan yon pò rezo ak yon moun kap okipe AJP. Dapre done preliminè, sou entènèt jwenn plis pase 1.2 milyon lame ki aksepte demann atravè pwotokòl AJP la.

Vilnerabilite a egziste nan pwotokòl AJP a, epi pa rele erè nan aplikasyon. Anplis de sa nan aksepte koneksyon atravè HTTP (pò 8080), Apache Tomcat pa default pèmèt aksè nan yon aplikasyon entènèt atravè pwotokòl la AJP (Apache Jserv Pwotokòl, pò 8009), ki se yon analòg binè HTTP optimize pou pi wo pèfòmans, anjeneral yo itilize lè yo kreye yon gwoup serveurs Tomcat oswa pou pi vit entèraksyon ak Tomcat sou yon proxy ranvèse oswa balans chaj.

AJP bay yon fonksyon estanda pou jwenn aksè nan fichye sou sèvè a, ki ka itilize, tankou jwenn dosye ki pa sijè a divilgasyon. AJP sipoze aksesib sèlman nan serveurs ou fè konfyans, men an reyalite konfigirasyon default Tomcat te kouri okipe a sou tout koòdone rezo ak aksepte demann san otantifikasyon. Aksè posib nan nenpòt dosye aplikasyon entènèt, ki gen ladan sa ki nan WEB-INF, META-INF ak nenpòt lòt repèrtwar yo bay atravè yon apèl nan ServletContext.getResourceAsStream(). AJP tou pèmèt ou sèvi ak nenpòt ki dosye nan anyè aksesib a aplikasyon entènèt la kòm yon script JSP.

Pwoblèm nan te parèt depi branch Tomcat 13.x lage 6 ane de sa. Anplis de pwoblèm nan Tomcat tèt li afekte ak pwodwi ki sèvi ak li, tankou Red Hat JBoss Web Server (JWS), JBoss Enterprise Application Platform (EAP), osi byen ke aplikasyon entènèt endepandan ki itilize Spring bòt. Frape menm jan an (CVE-2020-1745) prezan nan sèvè entènèt la Undertow, yo itilize nan sèvè aplikasyon Wildfly. Nan JBoss ak Wildfly, AJP aktive pa default sèlman nan standalone-full-ha.xml, standalone-ha.xml ak pwofil ha/full-ha nan domain.xml. Nan Spring Boot, sipò AJP enfim pa default. Kounye a, diferan gwoup te prepare plis pase yon douzèn egzanp travay eksplwatasyon (
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11).

Vilnerabilite fiks nan degaje Tomcat 9.0.31, 8.5.51 и 7.0.100 (antretyen nan branch 6.x la sispann). Ou ka swiv disponiblite mizajou nan twous distribisyon nan paj sa yo: dbyan, Ubentu, rhel, Feutr, suse, FreeBSD. Kòm yon solisyon, ou ka enfim sèvis Tomcat AJP Connector la (mare yon priz koute ak localhost oswa fè kòmantè sou liy lan ak Connector port = "8009") si li pa nesesè, oswa melodi aksè otantifye lè l sèvi avèk atribi "sekrè" ak "adrès", si yo itilize sèvis la pou kominike avèk lòt sèvè ak proxy ki baze sou mod_jk ak mod_proxy_ajp (mod_cluster pa sipòte otantifikasyon).

Sous: opennet.ru

Add nouvo kòmantè