ʻO ka Vulnerability i Apache Tomcat e hiki ai ke hoʻololi i ka code JSP a loaʻa i nā faila noi pūnaewele

Ua ʻike nā mea noiʻi mai ka hui Kina Chaitin Tech palupalu (CVE-2020-1938) in Apache Tomcat, kahi hoʻokō wehe o Java Servlet, JavaServer Pages, Java Expression Language a me nā ʻenehana Java WebSocket. Ua hāʻawi ʻia ka vulnerability i ka inoa code Ghostcat a me kahi pae koʻikoʻi koʻikoʻi (9.8 CVSS). Hiki i ka pilikia, ma ka hoʻonohonoho paʻamau, ma ka hoʻouna ʻana i kahi noi ma ke awa pūnaewele 8009, e heluhelu i nā ʻike o nā faila mai ka papa kuhikuhi noi pūnaewele, me nā faila me nā hoʻonohonoho a me nā code kumu noi.

Hiki i ka nāwaliwali ke hiki ke hoʻokomo i nā faila ʻē aʻe i loko o ka code application, e ʻae ai i ka hoʻokō code ma ke kikowaena inā ʻae ka palapala noi e hoʻouka i nā faila i ke kikowaena (no ka laʻana, hiki i ka mea hoʻouka ke hoʻouka i kahi palapala JSP i hoʻololi ʻia he kiʻi ma o ka palapala hoʻoili kiʻi). Hiki ke hoʻokō ʻia ka hoʻouka ʻana inā hiki ke hoʻouna i kahi noi i kahi awa pūnaewele me kahi mea hoʻokele AJP. Wahi a ka ʻikepili mua, ma ka pūnaewele loaa ʻoi aku ma mua o 1.2 miliona mau pūʻali e ʻae ana i nā noi ma o ka protocol AJP.

Aia ka vulnerability i ka protocol AJP, a ʻaʻole i kāhea ʻia hewa i ka hoʻokō. Ma waho aʻe o ka ʻae ʻana i nā pilina ma o HTTP (port 8080), ʻo Apache Tomcat ma ka paʻamau e ʻae i ke komo ʻana i kahi noi pūnaewele ma o ka protocol AJP (ʻO Apache Jserv Protocol, awa 8009), ʻo ia kahi analogue binary o HTTP i hoʻopaʻa ʻia no ka hana kiʻekiʻe, i hoʻohana pinepine ʻia i ka wā e hana ana i kahi pūʻulu o nā kikowaena Tomcat a i ʻole e wikiwiki i ka launa pū ʻana me Tomcat ma kahi mea hoʻohuli a i ʻole ke kau kaulike.

Hāʻawi ʻo AJP i kahi hana maʻamau no ke komo ʻana i nā faila ma ke kikowaena, hiki ke hoʻohana ʻia, me ka loaʻa ʻana o nā faila i pili ʻole i ka hōʻike. Manaʻo ʻia ʻo AJP e hiki ke loaʻa i nā kikowaena hilinaʻi wale nō, akā ʻo ka hoʻonohonoho paʻamau o Tomcat i holo i ka mea hoʻokele ma nā kikowaena pūnaewele āpau a ʻae ʻia nā noi me ka ʻole o ka hōʻoia. Hiki ke komo i nā faila noi pūnaewele, me nā mea o WEB-INF, META-INF a me nā papa kuhikuhi ʻē aʻe i hāʻawi ʻia ma o ke kelepona ʻana iā ServletContext.getResourceAsStream(). ʻAe ʻo AJP iā ʻoe e hoʻohana i kekahi faila ma nā papa kuhikuhi i hiki ke loaʻa i ka palapala noi pūnaewele ma ke ʻano he palapala JSP.

Ua ʻike ʻia ka pilikia mai ka hoʻokuʻu ʻana o ka lālā Tomcat 13.x i 6 mau makahiki i hala. Ma waho aʻe o ka pilikia Tomcat pono'ī pili a me nā huahana e hoʻohana ana ia mea, e like me Red Hat JBoss Web Server (JWS), JBoss Enterprise Application Platform (EAP), a me nā polokalamu pūnaewele ponoʻī e hoʻohana ana. ʻ bootpala puna. Pilikia like (CVE-2020-1745) i kēia manawa ma ke kikowaena pūnaewele Hoʻolaha, i hoʻohana ʻia ma ka kikowaena noi Wildfly. Ma JBoss a me Wildfly, hiki ke hoʻohana ʻia ka AJP ma ka paʻamau ma nā ʻaoʻao kūʻokoʻa-full-ha.xml, standalone-ha.xml a me ha/full-ha ma domain.xml. I ka Spring Boot, ua pio ke kākoʻo AJP ma ka paʻamau. I kēia manawa, ua hoʻomākaukau nā hui like ʻole ma mua o hoʻokahi kakini hana hana o ka hoʻohana (
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11).

Hoʻopaʻa ʻia ka vulnerability i nā hoʻokuʻu Tomcat 9.0.31, 8.5.51 и 7.0.100 (mālama ʻia o ka lālā 6.x hoʻopau ʻia). Hiki iā ʻoe ke hahai i ka loaʻa ʻana o nā mea hou i nā pahu hāʻawi ma kēia mau ʻaoʻao: Debian, Ubuntu, RHEL, ʻO Fedora, SUSA, FreeBSD. Ma ke ʻano he hana, hiki iā ʻoe ke hoʻopau i ka lawelawe ʻo Tomcat AJP Connector (e hoʻopaʻa i kahi kumu hoʻolohe i ka localhost a ʻōlelo paha i ka laina me ka Connector port = "8009") inā ʻaʻole pono, a i ʻole. kau ʻae ʻia me ka hoʻohana ʻana i nā ʻano "huna" a me "address", inā hoʻohana ʻia ka lawelawe e launa pū me nā kikowaena ʻē aʻe a me nā proxies e pili ana i mod_jk a me mod_proxy_ajp (mod_cluster ʻaʻole kākoʻo i ka hōʻoia).

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka