Bregusrwydd yn Apache Tomcat sy'n eich galluogi i amnewid cod JSP a chael ffeiliau cais gwe

Mae ymchwilwyr o'r cwmni Tsieineaidd Chaitin Tech wedi darganfod bregusrwydd (CVE-2020-1938) yn Apache Tomcat, gweithrediad agored o Java Servlet, JavaServer Pages, Java Expression Language a thechnolegau Java WebSocket. Rhoddwyd yr enw cod Ghostcat i'r bregusrwydd a lefel difrifoldeb critigol (9.8 CVSS). Mae'r broblem yn caniatΓ‘u, yn y ffurfweddiad diofyn, trwy anfon cais at borthladd rhwydwaith 8009, i ddarllen cynnwys unrhyw ffeiliau o'r cyfeiriadur cymhwysiad gwe, gan gynnwys ffeiliau gyda gosodiadau a chodau ffynhonnell cais.

Mae'r bregusrwydd hefyd yn ei gwneud hi'n bosibl mewnforio ffeiliau eraill i'r cod cais, sy'n caniatΓ‘u gweithredu cod ar y gweinydd os yw'r rhaglen yn caniatΓ‘u i ffeiliau gael eu huwchlwytho i'r gweinydd (er enghraifft, gall ymosodwr uwchlwytho sgript JSP wedi'i guddio fel delwedd trwy y ffurflen uwchlwytho delwedd). Gellir cynnal yr ymosodiad pan fydd yn bosibl anfon cais i borthladd rhwydwaith gyda thriniwr AJP. Yn Γ΄l data rhagarweiniol, ar-lein dod o hyd mwy na 1.2 miliwn o westeion yn derbyn ceisiadau trwy brotocol AJP.

Mae'r bregusrwydd yn bodoli yn y protocol AJP, a heb ei alw gwall wrth weithredu. Yn ogystal Γ’ derbyn cysylltiadau trwy HTTP (porthladd 8080), mae Apache Tomcat yn ddiofyn yn caniatΓ‘u mynediad i raglen we trwy'r protocol AJP (Protocol Apache Jserv, porthladd 8009), sef analog deuaidd o HTTP wedi'i optimeiddio ar gyfer perfformiad uwch, a ddefnyddir fel arfer wrth greu clwstwr o weinyddion Tomcat neu i gyflymu'r rhyngweithio Γ’ Tomcat ar ddirprwy gwrthdro neu gydbwysedd llwyth.

Mae AJP yn darparu swyddogaeth safonol ar gyfer cyrchu ffeiliau ar y gweinydd, y gellir eu defnyddio, gan gynnwys cael ffeiliau nad ydynt yn destun datgeliad. Mae AJP i fod i fod yn hygyrch i weinyddion dibynadwy yn unig, ond mewn gwirionedd roedd cyfluniad rhagosodedig Tomcat yn rhedeg y triniwr ar bob rhyngwyneb rhwydwaith ac yn derbyn ceisiadau heb eu dilysu. Mae mynediad yn bosibl i unrhyw ffeiliau cymhwysiad gwe, gan gynnwys cynnwys WEB-INF, META-INF ac unrhyw gyfeiriaduron eraill a ddarperir trwy alwad i ServletContext.getResourceAsStream(). Mae AJP hefyd yn caniatΓ‘u ichi ddefnyddio unrhyw ffeil mewn cyfeirlyfrau sy'n hygyrch i'r rhaglen we fel sgript JSP.

Mae'r broblem wedi bod yn ymddangos ers i gangen Tomcat 13.x ryddhau 6 mlynedd yn Γ΄l. Yn ogystal Γ’'r broblem Tomcat ei hun yn effeithio a chynhyrchion sy'n ei ddefnyddio, fel Red Hat JBoss Web Server (JWS), JBoss Enterprise Application Platform (EAP), yn ogystal Γ’ chymwysiadau gwe hunangynhwysol sy'n defnyddio Cist gwanwyn. Bregusrwydd tebyg (CVE-2020-1745) yn bresenol yn y gweinydd gwe Ymgymryd, a ddefnyddir yn y gweinydd cais Wildfly. Yn JBoss a Wildfly, dim ond mewn proffiliau standalone-full-ha.xml, standalone-ha.xml a ha/full-ha yn domain.xml y mae AJP yn cael ei alluogi yn ddiofyn. Yn Spring Boot, mae cefnogaeth AJP wedi'i analluogi yn ddiofyn. Ar hyn o bryd, mae gwahanol grwpiau wedi paratoi mwy na dwsin o enghreifftiau gweithredol o gampau (
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11).

Bregusrwydd sefydlog mewn datganiadau Tomcat 9.0.31, 8.5.51 ΠΈ 7.0.100 (cynnal a chadw y gangen 6.x terfynu). Gallwch olrhain argaeledd diweddariadau mewn citiau dosbarthu ar y tudalennau hyn: Debian, Ubuntu, RHEL, Fedora, SUSE, FreeBSD. Fel ateb, gallwch analluogi gwasanaeth Tomcat AJP Connector (rhwymo soced gwrando i localhost neu wneud sylwadau ar y llinell gyda phorthladd Connector = "8009") os nad oes ei angen, neu sefydlu mynediad wedi'i ddilysu gan ddefnyddio'r priodoleddau β€œcyfrinachol” a β€œcyfeiriad”, os defnyddir y gwasanaeth i ryngweithio Γ’ gweinyddwyr a dirprwyon eraill yn seiliedig ar mod_jk a mod_proxy_ajp (nid yw mod_cluster yn cefnogi dilysu).

Ffynhonnell: opennet.ru

Ychwanegu sylw