JSP ಕೋಡ್ ಅನ್ನು ಬದಲಿಸಲು ಮತ್ತು ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್ ಫೈಲ್‌ಗಳನ್ನು ಪಡೆಯಲು ಅನುಮತಿಸುವ Apache Tomcat ನಲ್ಲಿನ ದುರ್ಬಲತೆ

ಚೀನಾದ ಚೈಟಿನ್ ಟೆಕ್ ಕಂಪನಿಯ ಸಂಶೋಧಕರು ಕಂಡುಹಿಡಿದಿದ್ದಾರೆ ದುರ್ಬಲತೆ (CVE-2020-1938) ರಲ್ಲಿ ಅಪಾಚೆ ಟಾಮ್‌ಕ್ಯಾಟ್, Java Servlet, JavaServer Pages, Java Expression Language ಮತ್ತು Java WebSocket ತಂತ್ರಜ್ಞಾನಗಳ ಮುಕ್ತ ಅನುಷ್ಠಾನ. ದುರ್ಬಲತೆಗೆ ಘೋಸ್ಟ್‌ಕ್ಯಾಟ್ ಎಂಬ ಕೋಡ್ ಹೆಸರು ಮತ್ತು ನಿರ್ಣಾಯಕ ತೀವ್ರತೆಯ ಮಟ್ಟವನ್ನು (9.8 CVSS) ನಿಯೋಜಿಸಲಾಗಿದೆ. ಸಮಸ್ಯೆಯು ಡೀಫಾಲ್ಟ್ ಕಾನ್ಫಿಗರೇಶನ್‌ನಲ್ಲಿ, ನೆಟ್‌ವರ್ಕ್ ಪೋರ್ಟ್ 8009 ನಲ್ಲಿ ವಿನಂತಿಯನ್ನು ಕಳುಹಿಸುವ ಮೂಲಕ, ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್ ಡೈರೆಕ್ಟರಿಯಿಂದ ಯಾವುದೇ ಫೈಲ್‌ಗಳ ವಿಷಯಗಳನ್ನು ಓದಲು ಸೆಟ್ಟಿಂಗ್‌ಗಳು ಮತ್ತು ಅಪ್ಲಿಕೇಶನ್ ಮೂಲ ಕೋಡ್‌ಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ಅನುಮತಿಸುತ್ತದೆ.

ದುರ್ಬಲತೆಯು ಇತರ ಫೈಲ್‌ಗಳನ್ನು ಅಪ್ಲಿಕೇಶನ್ ಕೋಡ್‌ಗೆ ಆಮದು ಮಾಡಿಕೊಳ್ಳಲು ಸಾಧ್ಯವಾಗಿಸುತ್ತದೆ, ಇದು ಸರ್ವರ್‌ಗೆ ಫೈಲ್‌ಗಳನ್ನು ಅಪ್‌ಲೋಡ್ ಮಾಡಲು ಅಪ್ಲಿಕೇಶನ್ ಅನುಮತಿಸಿದರೆ ಸರ್ವರ್‌ನಲ್ಲಿ ಕೋಡ್ ಕಾರ್ಯಗತಗೊಳಿಸಲು ಅನುಮತಿಸುತ್ತದೆ (ಉದಾಹರಣೆಗೆ, ಆಕ್ರಮಣಕಾರರು ಚಿತ್ರದ ಮೂಲಕ ವೇಷದ JSP ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಅಪ್‌ಲೋಡ್ ಮಾಡಬಹುದು ಚಿತ್ರ ಅಪ್ಲೋಡ್ ರೂಪ). AJP ಹ್ಯಾಂಡ್ಲರ್ನೊಂದಿಗೆ ನೆಟ್ವರ್ಕ್ ಪೋರ್ಟ್ಗೆ ವಿನಂತಿಯನ್ನು ಕಳುಹಿಸಲು ಸಾಧ್ಯವಾದಾಗ ದಾಳಿಯನ್ನು ನಡೆಸಬಹುದು. ಪ್ರಾಥಮಿಕ ಮಾಹಿತಿಯ ಪ್ರಕಾರ, ಆನ್ಲೈನ್ ಕಂಡು AJP ಪ್ರೋಟೋಕಾಲ್ ಮೂಲಕ ವಿನಂತಿಗಳನ್ನು ಸ್ವೀಕರಿಸುವ 1.2 ಮಿಲಿಯನ್‌ಗಿಂತಲೂ ಹೆಚ್ಚು ಹೋಸ್ಟ್‌ಗಳು.

ದುರ್ಬಲತೆಯು AJP ಪ್ರೋಟೋಕಾಲ್‌ನಲ್ಲಿ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ ಮತ್ತು ಕರೆಯಲಿಲ್ಲ ಅನುಷ್ಠಾನದಲ್ಲಿ ದೋಷ. HTTP (ಪೋರ್ಟ್ 8080) ಮೂಲಕ ಸಂಪರ್ಕಗಳನ್ನು ಸ್ವೀಕರಿಸುವುದರ ಜೊತೆಗೆ, Apache Tomcat ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ AJP ಪ್ರೋಟೋಕಾಲ್ ಮೂಲಕ ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್‌ಗೆ ಪ್ರವೇಶವನ್ನು ಅನುಮತಿಸುತ್ತದೆ (ಅಪಾಚೆ ಜೆಸರ್ವ್ ಪ್ರೋಟೋಕಾಲ್, ಪೋರ್ಟ್ 8009), ಇದು ಹೆಚ್ಚಿನ ಕಾರ್ಯಕ್ಷಮತೆಗಾಗಿ ಹೊಂದುವಂತೆ HTTP ಯ ಬೈನರಿ ಅನಲಾಗ್ ಆಗಿದೆ, ಸಾಮಾನ್ಯವಾಗಿ ಟಾಮ್‌ಕ್ಯಾಟ್ ಸರ್ವರ್‌ಗಳ ಕ್ಲಸ್ಟರ್ ಅನ್ನು ರಚಿಸುವಾಗ ಅಥವಾ ರಿವರ್ಸ್ ಪ್ರಾಕ್ಸಿ ಅಥವಾ ಲೋಡ್ ಬ್ಯಾಲೆನ್ಸರ್‌ನಲ್ಲಿ ಟಾಮ್‌ಕ್ಯಾಟ್‌ನೊಂದಿಗೆ ಸಂವಹನವನ್ನು ವೇಗಗೊಳಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ.

AJP ಸರ್ವರ್‌ನಲ್ಲಿ ಫೈಲ್‌ಗಳನ್ನು ಪ್ರವೇಶಿಸಲು ಪ್ರಮಾಣಿತ ಕಾರ್ಯವನ್ನು ಒದಗಿಸುತ್ತದೆ, ಬಹಿರಂಗಪಡಿಸುವಿಕೆಗೆ ಒಳಪಡದ ಫೈಲ್‌ಗಳನ್ನು ಪಡೆಯುವುದು ಸೇರಿದಂತೆ ಇದನ್ನು ಬಳಸಬಹುದು. AJP ವಿಶ್ವಾಸಾರ್ಹ ಸರ್ವರ್‌ಗಳಿಗೆ ಮಾತ್ರ ಪ್ರವೇಶಿಸಬಹುದು, ಆದರೆ ವಾಸ್ತವವಾಗಿ ಟಾಮ್‌ಕ್ಯಾಟ್‌ನ ಡೀಫಾಲ್ಟ್ ಕಾನ್ಫಿಗರೇಶನ್ ಎಲ್ಲಾ ನೆಟ್‌ವರ್ಕ್ ಇಂಟರ್‌ಫೇಸ್‌ಗಳಲ್ಲಿ ಹ್ಯಾಂಡ್ಲರ್ ಅನ್ನು ನಡೆಸುತ್ತದೆ ಮತ್ತು ದೃಢೀಕರಣವಿಲ್ಲದೆ ವಿನಂತಿಗಳನ್ನು ಸ್ವೀಕರಿಸುತ್ತದೆ. ServletContext.getResourceAsStream() ಗೆ ಕರೆ ಮಾಡುವ ಮೂಲಕ ಒದಗಿಸಲಾದ WEB-INF, META-INF ಮತ್ತು ಯಾವುದೇ ಇತರ ಡೈರೆಕ್ಟರಿಗಳ ವಿಷಯಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ಯಾವುದೇ ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್ ಫೈಲ್‌ಗಳಿಗೆ ಪ್ರವೇಶ ಸಾಧ್ಯ. JSP ಸ್ಕ್ರಿಪ್ಟ್‌ನಂತೆ ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್‌ಗೆ ಪ್ರವೇಶಿಸಬಹುದಾದ ಡೈರೆಕ್ಟರಿಗಳಲ್ಲಿ ಯಾವುದೇ ಫೈಲ್ ಅನ್ನು ಬಳಸಲು AJP ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.

13 ವರ್ಷಗಳ ಹಿಂದೆ ಬಿಡುಗಡೆಯಾದ ಟಾಮ್‌ಕ್ಯಾಟ್ 6.x ಶಾಖೆಯಿಂದ ಸಮಸ್ಯೆ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತಿದೆ. ಟಾಮ್‌ಕ್ಯಾಟ್ ಸಮಸ್ಯೆಯ ಜೊತೆಗೆ ಪರಿಣಾಮ ಬೀರುತ್ತದೆ ಮತ್ತು ಅದನ್ನು ಬಳಸುವ ಉತ್ಪನ್ನಗಳು, ಉದಾಹರಣೆಗೆ Red Hat JBoss ವೆಬ್ ಸರ್ವರ್ (JWS), JBoss ಎಂಟರ್‌ಪ್ರೈಸ್ ಅಪ್ಲಿಕೇಶನ್ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ (EAP), ಹಾಗೆಯೇ ಬಳಸುವ ಸ್ವಯಂ-ಒಳಗೊಂಡಿರುವ ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಸ್ಪ್ರಿಂಗ್ ಬೂಟ್. ಇದೇ ರೀತಿಯ ದುರ್ಬಲತೆ (CVE-2020-1745) ಪ್ರಸ್ತುತ ವೆಬ್ ಸರ್ವರ್‌ನಲ್ಲಿ ಅಂಡರ್ಟೌ, ವೈಲ್ಡ್‌ಫ್ಲೈ ಅಪ್ಲಿಕೇಶನ್ ಸರ್ವರ್‌ನಲ್ಲಿ ಬಳಸಲಾಗಿದೆ. JBoss ಮತ್ತು Wildfly ನಲ್ಲಿ, ಡೊಮೇನ್.xml ನಲ್ಲಿ ಸ್ವತಂತ್ರ-ಪೂರ್ಣ-ha.xml, ಸ್ವತಂತ್ರ-ha.xml ಮತ್ತು ha/full-ha ಪ್ರೊಫೈಲ್‌ಗಳಲ್ಲಿ ಮಾತ್ರ AJP ಅನ್ನು ಡಿಫಾಲ್ಟ್ ಆಗಿ ಸಕ್ರಿಯಗೊಳಿಸಲಾಗುತ್ತದೆ. ಸ್ಪ್ರಿಂಗ್ ಬೂಟ್‌ನಲ್ಲಿ, AJP ಬೆಂಬಲವನ್ನು ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ. ಪ್ರಸ್ತುತ, ವಿವಿಧ ಗುಂಪುಗಳು ಶೋಷಣೆಗಳ ಒಂದು ಡಜನ್‌ಗಿಂತಲೂ ಹೆಚ್ಚು ಕೆಲಸದ ಉದಾಹರಣೆಗಳನ್ನು ಸಿದ್ಧಪಡಿಸಿವೆ (
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11).

ಟಾಮ್‌ಕ್ಯಾಟ್ ಬಿಡುಗಡೆಗಳಲ್ಲಿ ದುರ್ಬಲತೆಯನ್ನು ನಿವಾರಿಸಲಾಗಿದೆ 9.0.31, 8.5.51 и 7.0.100 (6.x ಶಾಖೆಯ ನಿರ್ವಹಣೆ ಸ್ಥಗಿತಗೊಳಿಸಲಾಗಿದೆ) ಈ ಪುಟಗಳಲ್ಲಿ ವಿತರಣಾ ಕಿಟ್‌ಗಳಲ್ಲಿ ನವೀಕರಣಗಳ ಲಭ್ಯತೆಯನ್ನು ನೀವು ಟ್ರ್ಯಾಕ್ ಮಾಡಬಹುದು: ಡೆಬಿಯನ್, ಉಬುಂಟು, rhel, ಫೆಡೋರಾ, ಸ್ಯೂಸ್, ಫ್ರೀಬಿಎಸ್ಡಿ. ಪರಿಹಾರವಾಗಿ, ನೀವು ಟಾಮ್‌ಕ್ಯಾಟ್ ಎಜೆಪಿ ಕನೆಕ್ಟರ್ ಸೇವೆಯನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಬಹುದು (ಲೋಕಲ್ ಹೋಸ್ಟ್‌ಗೆ ಆಲಿಸುವ ಸಾಕೆಟ್ ಅನ್ನು ಬಂಧಿಸಿ ಅಥವಾ ಕನೆಕ್ಟರ್ ಪೋರ್ಟ್ = "8009" ನೊಂದಿಗೆ ಲೈನ್ ಅನ್ನು ಕಾಮೆಂಟ್ ಮಾಡಿ) ಇದು ಅಗತ್ಯವಿಲ್ಲದಿದ್ದರೆ, ಅಥವಾ ಸ್ಥಾಪಿಸಲಾಯಿತು mod_jk ಮತ್ತು mod_proxy_ajp (mod_cluster ದೃಢೀಕರಣವನ್ನು ಬೆಂಬಲಿಸುವುದಿಲ್ಲ) ಆಧರಿಸಿ ಇತರ ಸರ್ವರ್‌ಗಳು ಮತ್ತು ಪ್ರಾಕ್ಸಿಗಳೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸಲು ಸೇವೆಯನ್ನು ಬಳಸಿದರೆ, “ರಹಸ್ಯ” ಮತ್ತು “ವಿಳಾಸ” ಗುಣಲಕ್ಷಣಗಳನ್ನು ಬಳಸಿಕೊಂಡು ದೃಢೀಕೃತ ಪ್ರವೇಶ.

ಮೂಲ: opennet.ru

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ