ಎಕ್ಸಿಮ್‌ನಲ್ಲಿನ ನಿರ್ಣಾಯಕ ದುರ್ಬಲತೆಯ ವಿವರಗಳನ್ನು ಬಹಿರಂಗಪಡಿಸಲಾಗಿದೆ

ಪ್ರಕಟಿಸಲಾಗಿದೆ ಸರಿಪಡಿಸುವ ಬಿಡುಗಡೆ ಎಕ್ಸಿಮ್ 4.92.2 ನಿರ್ಣಾಯಕ ನಿರ್ಮೂಲನೆಯೊಂದಿಗೆ ದುರ್ಬಲತೆಗಳು (CVE-2019-15846), ಇದು ಡೀಫಾಲ್ಟ್ ಕಾನ್ಫಿಗರೇಶನ್‌ನಲ್ಲಿ ರೂಟ್ ಸವಲತ್ತುಗಳೊಂದಿಗೆ ಆಕ್ರಮಣಕಾರರಿಂದ ರಿಮೋಟ್ ಕೋಡ್ ಎಕ್ಸಿಕ್ಯೂಶನ್‌ಗೆ ಕಾರಣವಾಗಬಹುದು. TLS ಬೆಂಬಲವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿದಾಗ ಮಾತ್ರ ಸಮಸ್ಯೆ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತದೆ ಮತ್ತು ವಿಶೇಷವಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಿದ ಕ್ಲೈಂಟ್ ಪ್ರಮಾಣಪತ್ರ ಅಥವಾ ಮಾರ್ಪಡಿಸಿದ ಮೌಲ್ಯವನ್ನು SNI ಗೆ ರವಾನಿಸುವ ಮೂಲಕ ಬಳಸಿಕೊಳ್ಳಲಾಗುತ್ತದೆ. ದುರ್ಬಲತೆ ಗುರುತಿಸಲಾಗಿದೆ ಕ್ವಾಲಿಸ್ ಅವರಿಂದ.

ಸಮಸ್ಯೆಯನ್ನು ಪ್ರಸ್ತುತ ಸ್ಟ್ರಿಂಗ್‌ನಲ್ಲಿ ವಿಶೇಷ ಅಕ್ಷರಗಳಿಂದ ತಪ್ಪಿಸಿಕೊಳ್ಳಲು ಹ್ಯಾಂಡ್ಲರ್‌ನಲ್ಲಿ (string_interpret_escape() string.c ನಿಂದ) ಮತ್ತು ಸ್ಟ್ರಿಂಗ್‌ನ ಅಂತ್ಯದಲ್ಲಿರುವ '\' ಅಕ್ಷರವು ಶೂನ್ಯ ಅಕ್ಷರದ ಮೊದಲು ('\0') ಅರ್ಥೈಸಿಕೊಳ್ಳುವುದರಿಂದ ಮತ್ತು ಅದರಿಂದ ತಪ್ಪಿಸಿಕೊಳ್ಳುವುದರಿಂದ ಉಂಟಾಗುತ್ತದೆ. ತಪ್ಪಿಸಿಕೊಳ್ಳುವಾಗ, ಅನುಕ್ರಮ '\' ಮತ್ತು ಕೆಳಗಿನ ಶೂನ್ಯ ಅಂತ್ಯದ ಕೋಡ್ ಅನ್ನು ಒಂದೇ ಅಕ್ಷರವಾಗಿ ಪರಿಗಣಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಪಾಯಿಂಟರ್ ಅನ್ನು ಸಾಲಿನ ಹೊರಗಿನ ಡೇಟಾಕ್ಕೆ ವರ್ಗಾಯಿಸಲಾಗುತ್ತದೆ, ಇದನ್ನು ಸಾಲಿನ ಮುಂದುವರಿಕೆಯಾಗಿ ಪರಿಗಣಿಸಲಾಗುತ್ತದೆ.

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

ಡೀಫಾಲ್ಟ್ ಕಾನ್ಫಿಗರೇಶನ್‌ನಲ್ಲಿ, ಸರ್ವರ್‌ಗೆ ಸುರಕ್ಷಿತ ಸಂಪರ್ಕವನ್ನು ಸ್ಥಾಪಿಸುವಾಗ ವಿಶೇಷವಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಿದ ಡೇಟಾವನ್ನು SNI ಗೆ ಕಳುಹಿಸುವ ಮೂಲಕ ದುರ್ಬಲತೆಯನ್ನು ಬಳಸಿಕೊಳ್ಳಬಹುದು. ಕ್ಲೈಂಟ್ ಪ್ರಮಾಣಪತ್ರ ದೃಢೀಕರಣಕ್ಕಾಗಿ ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾದ ಕಾನ್ಫಿಗರೇಶನ್‌ಗಳಲ್ಲಿ ಅಥವಾ ಪ್ರಮಾಣಪತ್ರಗಳನ್ನು ಆಮದು ಮಾಡಿಕೊಳ್ಳುವಾಗ ಪೀರ್ಡ್ನ್ ಮೌಲ್ಯಗಳನ್ನು ಮಾರ್ಪಡಿಸುವ ಮೂಲಕ ಸಮಸ್ಯೆಯನ್ನು ಬಳಸಿಕೊಳ್ಳಬಹುದು. ಬಿಡುಗಡೆಯಿಂದ ಪ್ರಾರಂಭಿಸಿ SNI ಮತ್ತು peerdn ಮೂಲಕ ದಾಳಿ ಸಾಧ್ಯ ಎಕ್ಸಿಮ್ 4.80, ಇದರಲ್ಲಿ string_unprinting() ಕಾರ್ಯವನ್ನು peerdn ಮತ್ತು SNI ವಿಷಯಗಳನ್ನು ಅನ್‌ಪ್ರಿಂಟ್ ಮಾಡಲು ಬಳಸಲಾಗಿದೆ.

SNI ಮೂಲಕ ಆಕ್ರಮಣಕ್ಕಾಗಿ ಒಂದು ಶೋಷಣೆಯ ಮೂಲಮಾದರಿಯನ್ನು ಸಿದ್ಧಪಡಿಸಲಾಗಿದೆ, ಇದು Glibc ನೊಂದಿಗೆ Linux ಸಿಸ್ಟಮ್‌ಗಳಲ್ಲಿ i386 ಮತ್ತು amd64 ಆರ್ಕಿಟೆಕ್ಚರ್‌ಗಳಲ್ಲಿ ಚಾಲನೆಯಲ್ಲಿದೆ. ಶೋಷಣೆಯು ರಾಶಿ ಪ್ರದೇಶದ ಮೇಲೆ ಡೇಟಾ ಓವರ್‌ಲೇ ಅನ್ನು ಬಳಸುತ್ತದೆ, ಇದರ ಪರಿಣಾಮವಾಗಿ ಲಾಗ್ ಫೈಲ್ ಹೆಸರನ್ನು ಸಂಗ್ರಹಿಸಲಾದ ಮೆಮೊರಿಯನ್ನು ಓವರ್‌ರೈಟ್ ಮಾಡುತ್ತದೆ. ಫೈಲ್ ಹೆಸರನ್ನು "/../../../../../../../../etc/passwd" ನೊಂದಿಗೆ ಬದಲಾಯಿಸಲಾಗಿದೆ. ಮುಂದೆ, ಕಳುಹಿಸುವವರ ವಿಳಾಸದೊಂದಿಗೆ ವೇರಿಯೇಬಲ್ ಅನ್ನು ತಿದ್ದಿ ಬರೆಯಲಾಗುತ್ತದೆ, ಇದು ಮೊದಲು ಲಾಗ್ನಲ್ಲಿ ಉಳಿಸಲ್ಪಡುತ್ತದೆ, ಇದು ಸಿಸ್ಟಮ್ಗೆ ಹೊಸ ಬಳಕೆದಾರರನ್ನು ಸೇರಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.

ವಿತರಣೆಗಳಿಂದ ಬಿಡುಗಡೆಯಾದ ದುರ್ಬಲತೆ ಪರಿಹಾರಗಳೊಂದಿಗೆ ಪ್ಯಾಕೇಜ್ ನವೀಕರಣಗಳು ಡೆಬಿಯನ್, ಉಬುಂಟು, ಫೆಡೋರಾ, SUSE/openSUSE и ಫ್ರೀಬಿಎಸ್ಡಿ. RHEL ಮತ್ತು CentOS ಸಮಸ್ಯೆ ಒಳಗಾಗುವುದಿಲ್ಲ, ಎಕ್ಸಿಮ್ ಅನ್ನು ಅವರ ನಿಯಮಿತ ಪ್ಯಾಕೇಜ್ ರೆಪೊಸಿಟರಿಯಲ್ಲಿ ಸೇರಿಸಲಾಗಿಲ್ಲ (ಇನ್ ಬೆಚ್ಚಗಿನ ಅಪ್ಡೇಟ್ ಈಗಾಗಲೇ ರೂಪುಗೊಂಡಿತು, ಆದರೆ ಸದ್ಯಕ್ಕೆ ಇರಿಸಲಾಗಿಲ್ಲ ಸಾರ್ವಜನಿಕ ಭಂಡಾರಕ್ಕೆ). ಎಕ್ಸಿಮ್ ಕೋಡ್‌ನಲ್ಲಿ ಸಮಸ್ಯೆಯನ್ನು ಒನ್-ಲೈನರ್‌ನೊಂದಿಗೆ ಪರಿಹರಿಸಲಾಗಿದೆ ತೇಪೆ, ಇದು ಸಾಲಿನ ಅಂತ್ಯದಲ್ಲಿದ್ದರೆ ಬ್ಯಾಕ್‌ಸ್ಲ್ಯಾಷ್‌ನ ತಪ್ಪಿಸಿಕೊಳ್ಳುವ ಪರಿಣಾಮವನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ.

ದುರ್ಬಲತೆಯನ್ನು ನಿರ್ಬಂಧಿಸಲು ಪರಿಹಾರವಾಗಿ, ನೀವು TLS ಬೆಂಬಲವನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಬಹುದು ಅಥವಾ ಸೇರಿಸಬಹುದು
ACL ವಿಭಾಗ “acl_smtp_mail”:

ಷರತ್ತು ನಿರಾಕರಿಸು = ${if eq{\\}{${substr{-1}{1}{$tls_in_sni}}}}
ಷರತ್ತು ನಿರಾಕರಿಸು = ${if eq{\\}{${substr{-1}{1}{$tls_in_peerdn}}}}

ಮೂಲ: opennet.ru

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