Zelalbûna di Apache Tomcat de ku dihêle hûn koda JSP-ê biguhezînin û pelên serîlêdana malperê bistînin

Lêkolînerên şîrketa Çînî Chaitin Tech keşf kirin lawazbûn (CVE-2020-1938) li Apache Tomcat, pêkanîna vekirî ya Java Servlet, Rûpelên JavaServer, Java Expression Language û Java WebSocket. Qelsiyê bi navê kod Ghostcat û astek giran a krîtîk (9.8 CVSS) hatiye veqetandin. Pirsgirêk dihêle, di veavakirina xwerû de, bi şandina daxwazek li porta torê 8009, naveroka pelan ji pelrêça serîlêdana webê, tevî pelên bi mîhengan û kodên çavkaniya serîlêdanê, bixwînin.

Di heman demê de qelsî dihêle ku pelên din têxe nav koda serîlêdanê, ku rê dide ku kodê li ser serverê were bicîh kirin heke serîlêdan destûrê dide ku pelan li serverê werin barkirin (mînak, êrîşkarek dikare skrîptek JSP-ya ku wekî wêneyek veşartî ye bi navgîniya barkirinê forma barkirina wêneyê). Dema ku mimkun e ku bi rêvekerek AJP re daxwazek ji portek torê re bişîne êrîş dikare were kirin. Li gorî daneyên destpêkê, online dîtin zêdetirî 1.2 mîlyon mêvandar bi protokola AJP-ê daxwazan qebûl dikin.

Zelalbûn di protokola AJP de heye, û nayê gotin çewtî di pêkanînê de. Digel pejirandina girêdanên bi HTTP (port 8080), Apache Tomcat ji hêla xwerû ve destûr dide ku bi protokola AJP ve bigihîje serîlêdanek malperê (Protokola Apache Jserv, port 8009), ku analogek binar a HTTP-ê ye ku ji bo performansa bilindtir xweşkirî ye, bi gelemperî dema ku komek serverên Tomcat diafirîne an ji bo bilezkirina danûstendina bi Tomcat re li ser proxyek berevajî an balansek barkirinê tê bikar anîn.

AJP ji bo gihîştina pelên li ser serverê fonksiyonek standard peyda dike, ku dikare were bikar anîn, tevî bidestxistina pelên ku ne mijara eşkerekirinê ne. Tê payîn ku AJP tenê ji pêşkêşkerên pêbawer re bigihîje, lê di rastiyê de veavakirina xwerû ya Tomcat-ê li ser hemî navbeynkarên torê rêvebir dimeşîne û daxwazên bêyî pejirandinê qebûl dike. Gihîştina her pelên serîlêdana malperê, di nav de naveroka WEB-INF, META-INF û her pelrêçekên din ên ku bi banga ServletContext.getResourceAsStream () ve hatî peyda kirin, gengaz e. AJP di heman demê de dihêle hûn pelê di pelrêçên ku ji serîlêdana webê re têne gihîştin wekî skrîptek JSP bikar bînin.

Pirsgirêk ji ber ku şaxa Tomcat 13.x 6 sal berê derketiye, xuya dike. Ji bilî pirsgirêka Tomcat bixwe bandor dike û hilberên ku wê bikar tînin, wekî Red Hat JBoss Web Server (JWS), JBoss Enterprise Application Platform (EAP), û her weha serîlêdanên webê yên xweser ên ku bikar tînin Bihara biharê. Zehfbûna bi heman rengî (CVE-2020-1745) amade di servera webê de Berber kirin, di servera serîlêdana Wildfly de tê bikar anîn. Di JBoss û Wildfly de, AJP ji hêla xwerû ve tenê di profîlên standalone-full-ha.xml, standalone-ha.xml û ha/full-ha de di domain.xml de tê çalak kirin. Di Spring Boot de, piştgiriya AJP-ê ji hêla xwerû ve neçalak e. Heya niha, komên cûda ji dehan zêdetir mînakên xebatê yên îstîsmaran amade kirine (
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11).

Zehfbûn di weşanên Tomcat de hatî rast kirin 9.0.31, 8.5.51 и 7.0.100 (parastina şaxa 6.x rawestandin). Hûn dikarin li ser van rûpelan hebûna nûvekirinên di kîtên belavkirinê de bişopînin: Debian, Ubuntu, RHEL, Fedora, suse, FreeBSD. Wekî çareseriyek, hûn dikarin karûbarê Tomcat AJP Connector neçalak bikin (qozek guhdarîkirinê bi localhost-ê ve girêdin an rêzê bi porta Connector = "8009" şîrove bikin) heke ne hewce be, an miqam Ger karûbar ji bo danûstandina bi server û proxyên din re li ser bingeha mod_jk û mod_proxy_ajp (mod_cluster piştrastkirinê piştgirî nake) bi karanîna taybetmendiyên "veşartî" û "navnîşan" ve hatî pejirandin.

Source: opennet.ru

Add a comment