Уязвимост Π² Apache Tomcat, позволяваща Π΄Π° сС вмъкнС JSP ΠΊΠΎΠ΄ ΠΈ Π΄Π° сС ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΎΡ‚ ΡƒΠ΅Π± прилоТСнията

Π˜Π·ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΎΡ‚ китайската компания Chaitin Tech ΠΎΡ‚ΠΊΡ€ΠΈΡ…Π° уязвимост (CVE-2020-1938) Π² Apache Tomcat, ΠΎΡ‚Π²ΠΎΡ€Π΅Π½Π° рСализация Π½Π° Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Java Servlet, JavaServer Pages, Java Expression Language ΠΈ Java WebSocket. Уязвимостта Π΅ Π½Π°Ρ€Π΅Ρ‡Π΅Π½Π° Ghostcat ΠΈ Π΅ с ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π΅Π½ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π½Π° опасност (9.8 CVSS). ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ позволява Π² конфигурация ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Ρ‡Ρ€Π΅Π· ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° заявка към мрСТовия ΠΏΠΎΡ€Ρ‚ 8009 Π΄Π° сС ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π°Ρ‚ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΎΡ‚ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π½Π° ΡƒΠ΅Π± ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ с настройки ΠΈ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΡ‚Π΅ тСкстовС Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ.

Уязвимостта ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π΄Π°Π²Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π² ΠΊΠΎΠ΄Π° Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠ΅Ρ‚ΠΎ позволява ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ΄ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π°, Π°ΠΊΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ допуска ΠΊΠ°Ρ‡Π²Π°Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, атакуващият ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΊΠ°Ρ‡ΠΈ JSP скрипт ΠΏΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ‡Ρ€Π΅Π· формуляр Π·Π° ΠΊΠ°Ρ‡Π²Π°Π½Π΅). Атаката ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ΅Π½Π° ΠΏΡ€ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° заявка към мрСТовия ΠΏΠΎΡ€Ρ‚ с AJP ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ. По ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΈ Π΄Π°Π½Π½ΠΈ, Π² ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° са Π½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΈ ΠΈΠΌΠ° Π½Π°Π΄ 1.2 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° хостовС, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΡ€ΠΈΠ΅ΠΌΠ°Ρ‚ заявки ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° AJP.

Уязвимостта Π΅ Π½Π°Π»ΠΈΡ‡Π½Π° Π² ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° AJP, Π° Π½Π΅ Π΅ ΠΏΡ€Π΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ°Π½Π° ΠΎΡ‚ Π³Ρ€Π΅ΡˆΠΊΠ° Π² рСализацията. Π’ допълнСниС към ΠΏΡ€ΠΈΠ΅ΠΌΠ° Π½Π° съСдинСния ΠΏΠΎ HTTP (ΠΏΠΎΡ€Ρ‚ 8080) Π² Apache Tomcat ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ Π΄ΠΎΡΡ‚ΡŠΠΏΡŠΡ‚ Π΄ΠΎ ΡƒΠ΅Π± ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Ρ‡Ρ€Π΅Π· ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° AJP (Apache Jserv Protocol, ΠΏΠΎΡ€Ρ‚ 8009), ΠΊΠΎΠΉΡ‚ΠΎ прСдставлява ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½ ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π½Π° производитСлността Π±ΠΈΠ½Π°Ρ€Π΅Π½ Π°Π½Π°Π»ΠΎΠ³ Π½Π° HTTP, ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ ΠΏΡ€ΠΈ ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ΠΈ ΠΎΡ‚ Tomcat ΡΡŠΡ€Π²ΡŠΡ€ΠΈ ΠΈΠ»ΠΈ Π·Π° ускоряванС Π½Π° взаимодСйствиСто с Tomcat Π½Π° ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ прокси ΠΈΠ»ΠΈ балансировчик Π½Π° Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ.

AJP прСдоставя стандартна функция Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° ΡΡŠΡ€Π²Π΅Ρ€Π°, която ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΈ Π·Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ трябва Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Ρ€Π°Π·ΠΊΡ€ΠΈΠ²Π°Π½ΠΈ. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π° сС, Ρ‡Π΅ Π΄ΠΎΡΡ‚ΡŠΠΏΡŠΡ‚ Π΄ΠΎ AJP Π΅ ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ само Π·Π° Π΄ΠΎΠ²Π΅Ρ€Π΅Π½ΠΈ ΡΡŠΡ€Π²ΡŠΡ€ΠΈ, Π½ΠΎ Π²ΡΡŠΡ‰Π½ΠΎΡΡ‚ Π² конфигурация ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Tomcat стартира ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π½Π° всички ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ интСрфСйси, Π° заявкитС сС ΠΏΡ€ΠΈΠ΅ΠΌΠ°Ρ…Π° Π±Π΅Π· удостовСряванС. Π”ΠΎΡΡ‚ΡŠΠΏΡŠΡ‚ Π΄ΠΎ всякакви Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° ΡƒΠ΅Π± ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° WEB-INF, META-INF ΠΈ всякакви Π΄Ρ€ΡƒΠ³ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ·ΠΈ, Π΅ възмоТСн Ρ‡Ρ€Π΅Π· ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° ServletContext.getResourceAsStream(). AJP ΡΡŠΡ‰ΠΎ позволява всякакъв Ρ„Π°ΠΉΠ» Π² Π½Π°Π»ΠΈΡ‡Π½ΠΈΡ‚Π΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ·ΠΈ Π½Π° ΡƒΠ΅Π± ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π΄Π° бъдС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ ΠΊΠ°Ρ‚ΠΎ JSP скрипт.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ‚Π° сС проявява ΠΎΡ‚ вСрсията Tomcat 6.x, ΠΈΠ·Π΄Π°Π΄Π΅Π½Π° ΠΏΡ€Π΅Π΄ΠΈ 13 Π³ΠΎΠ΄ΠΈΠ½ΠΈ. ОсвСн самия Tomcat, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ засяга Π½Π°ΠΊΡ€Π°Ρ‚ΠΊΠΎ засяга ΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚, ΠΊΠ°Ρ‚ΠΎ Red Hat JBoss Web Server (JWS), JBoss Enterprise Application Platform (EAP), ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ самостоятСлнитС ΡƒΠ΅Π± прилоТСния, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‰ΠΈ Spring Boot. Аналогична уязвимост (CVE-2020-1745) ΠΏΡ€ΠΈΡΡŠΡΡ‚Π²Π° Π² ΡƒΠ΅Π± ΡΡŠΡ€Π²ΡŠΡ€Π° Undertow, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π² прилоТния ΡΡŠΡ€Π²ΡŠΡ€ Wildfly. Π’ JBoss ΠΈ Wildfly ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΡŠΡ‚ AJP ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ само Π² ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ‚Π΅ standalone-full-ha.xml, standalone-ha.xml ΠΈ ha/full-ha Π² domain.xml. Π’ Spring Boot ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° AJP Π΅ ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅. Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π³Ρ€ΡƒΠΏΠΈ са ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ дСсСт Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π½Π° Сксплойти (
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11).

Уязвимостта Π΅ отстранСна Π² вСрсиитС Π½Π° Tomcat 9.0.31, 8.5.51 ΠΈ 7.0.100 (ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° вСрсия 6.x Π΅ спряно). ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° прослСдитС появата Π½Π° актуализацията Π² дистрибутивитС Π½Π° Ρ‚Π΅Π·ΠΈ страници: Debian, Ubuntu, RHEL, Fedora, SUSE, FreeBSD. ΠšΠ°Ρ‚ΠΎ Π·Π°ΠΎΠ±ΠΈΠΊΠΎΠ»Π½ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π° Π·Π°Ρ‰ΠΈΡ‚Π°, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Ρ‚Π΅ услугата Tomcat AJP Connector (Ρ‡Ρ€Π΅Π· ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ Π½Π° ΡΠ»ΡƒΡˆΠ°Ρ‰ΠΈΡ сокСт с localhost ΠΈΠ»ΠΈ Π·Π°ΠΊΠΎΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ€Π΅Π΄Π° с Connector port = "8009"), Π°ΠΊΠΎ Π΅ Π½Π΅Π½ΡƒΠΆΠ½Π°, ΠΈΠ»ΠΈ Π΄Π° настроитС Π°Π²Ρ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½ Π΄ΠΎΡΡ‚ΡŠΠΏ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΈΡ‚Π΅ "secret" ΠΈ "address", Π°ΠΊΠΎ услугата сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° взаимодСйствиС с Π΄Ρ€ΡƒΠ³ΠΈ ΡΡŠΡ€Π²ΡŠΡ€ΠΈ ΠΈ проксита, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° mod_jk ΠΈ mod_proxy_ajp (mod_cluster Π½Π΅ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° автСнтикация).

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster