ΠΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΎΡ ΠΊΠΈΡΠ°ΠΉΡΠΊΠ°ΡΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Chaitin Tech ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡ Π° () Π² , ΠΎΡΠ²ΠΎΡΠ΅Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π·Π° 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 (, ΠΏΠΎΡΡ 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), Π° ΡΡΡΠΎ ΠΈ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»Π½ΠΈ ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠΈ . ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½Π°ΡΠ° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡ (CVE-2020-1745) Π² ΡΠ΅Π± ΡΡΡΠ²ΡΡΠ° , ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π² ΡΡΡΠ²ΡΡΠ° Wildfly. Π JBoss ΠΈ Wildfly ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΡΡ AJP ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ ΡΠ°ΠΌΠΎ Π² standalone-full-ha.xml, standalone-ha.xml ΠΈ ha/full-ha ΠΏΡΠΎΡΠΈΠ»ΠΈ Π² domain.xml. ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° AJP Π² Spring Boot Π΅ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅. Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π³ΡΡΠΏΠΈ ΡΠ° ΠΏΠΎΠ΄Π³ΠΎΡΠ²ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ Π΄Π΅ΡΠ΅Ρ ΡΠ°Π±ΠΎΡΠ½ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π½Π° Π΅ΠΊΡΠΏΠ»ΠΎΠΈΡΠΈ (
,
,
,
,
,
,
,
,
,
,
).
Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ° Π΅ ΠΎΡΡΡΡΠ°Π½Π΅Π½Π° Π² Π²Π΅ΡΡΠΈΠΈΡΠ΅ Π½Π° Tomcat , ΠΈ (ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½Π΅ Π½Π° Π²Π΅ΡΡΠΈΡ 6.x ). ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ»Π΅Π΄ΠΈΡΠ΅ ΠΏΠΎΡΠ²Π°ΡΠ° Π½Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π² Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈΡΠ΅ Π½Π° ΡΠ΅Π·ΠΈ ΡΡΡΠ°Π½ΠΈΡΠΈ: , , , , , . ΠΠ°ΡΠΎ ΠΎΠ±Ρ ΠΎΠ΄Π½Π° ΠΌΡΡΠΊΠ° Π·Π° Π·Π°ΡΠΈΡΠ° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ΅ ΡΡΠ»ΡΠ³Π°ΡΠ° Tomcat AJP Connector (Π΄Π° ΡΠ²ΡΡΠΆΠ΅ΡΠ΅ ΡΠ»ΡΡΠ°ΡΠΈΡ ΡΠΎΠΊΠ΅Ρ ΠΊΡΠΌ localhost ΠΈΠ»ΠΈ Π΄Π° ΠΊΠΎΠΌΠ΅Π½ΡΠΈΡΠ°ΡΠ΅ ΡΠ΅Π΄Π° Ρ Connector port = "8009"), Π°ΠΊΠΎ ΡΡ Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ°, ΠΈΠ»ΠΈ Π΄Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ΅ Π°Π²ΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π°ΡΡΠΈΠ±ΡΡΠΈΡΠ΅ "secret" ΠΈ "address", Π°ΠΊΠΎ ΡΡΠ»ΡΠ³Π°ΡΠ° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ Π΄ΡΡΠ³ΠΈ ΡΡΡΠ²ΡΡΠΈ ΠΈ ΠΏΡΠΎΠΊΡΠΈ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° mod_jk ΠΈ mod_proxy_ajp (mod_cluster Π½Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° Π°Π²ΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ).
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
