Уязвимост Π² 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 ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ», ΠΏΠΎΡ€Ρ‚ 8009), ΠΊΠΎΠΉΡ‚ΠΎ Π΅ Π΄Π²ΠΎΠΈΡ‡Π΅Π½ Π°Π½Π°Π»ΠΎΠ³ Π½Π° HTTP, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½ Π·Π° ΠΏΠΎ-висока производитСлност, ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΡ€ΠΈ създаванС Π½Π° ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ ΠΎΡ‚ Tomcat ΡΡŠΡ€Π²ΡŠΡ€ΠΈ ΠΈΠ»ΠΈ Π·Π° ускоряванС Π½Π° взаимодСйствиСто с Tomcat Π½Π° ΠΎΠ±Ρ€Π°Ρ‚Π΅Π½ прокси ΠΈΠ»ΠΈ балансиращо Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅.

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

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ сС появява слСд ΠΈΠ·Π»ΠΈΠ·Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠ»ΠΎΠ½Π° Tomcat 13.x ΠΏΡ€Π΅Π΄ΠΈ 6 Π³ΠΎΠ΄ΠΈΠ½ΠΈ. Π’ допълнСниС към самия ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с Tomcat засяга ΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚, ΠΊΠ°Ρ‚ΠΎ Red Hat JBoss Web Server (JWS), JBoss Enterprise Application Platform (EAP), ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ самостоятСлни ΡƒΠ΅Π± прилоТСния, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠŸΡ€ΠΎΠ»Π΅Ρ‚Π΅Π½ Π±ΠΎΡ‚ΡƒΡˆ. Подобна уязвимост (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

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€