qmail ಮೇಲ್ ಸರ್ವರ್‌ನಲ್ಲಿ ದೂರದಿಂದಲೇ ಬಳಸಿಕೊಳ್ಳಬಹುದಾದ ದುರ್ಬಲತೆ

ಕ್ವಾಲಿಸ್‌ನ ಭದ್ರತಾ ಸಂಶೋಧಕರು ತೋರಿಸಿದೆ ಅವಕಾಶವನ್ನು ಶೋಷಣೆ qmail ಮೇಲ್ ಸರ್ವರ್‌ನಲ್ಲಿನ ದೋಷಗಳು, ಖ್ಯಾತ 2005 ರಲ್ಲಿ (CVE-2005-1513), ಆದರೆ qmail ನ ಲೇಖಕರು ಡೀಫಾಲ್ಟ್ ಕಾನ್ಫಿಗರೇಶನ್‌ನಲ್ಲಿ ಸಿಸ್ಟಮ್‌ಗಳ ಮೇಲೆ ದಾಳಿ ಮಾಡಲು ಬಳಸಬಹುದಾದ ವರ್ಕಿಂಗ್ ಶೋಷಣೆಯನ್ನು ರಚಿಸುವುದು ಅವಾಸ್ತವಿಕವಾಗಿದೆ ಎಂದು ವಾದಿಸಿದ ಕಾರಣ ಪ್ಯಾಚ್ ಮಾಡಲಾಗಿಲ್ಲ. ಕ್ವಾಲಿಸ್ ಈ ಊಹೆಯನ್ನು ನಿರಾಕರಿಸುವ ಒಂದು ಶೋಷಣೆಯನ್ನು ಸಿದ್ಧಪಡಿಸಲು ಸಾಧ್ಯವಾಯಿತು ಮತ್ತು ವಿಶೇಷವಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಿದ ಸಂದೇಶವನ್ನು ಕಳುಹಿಸುವ ಮೂಲಕ ಸರ್ವರ್‌ನಲ್ಲಿ ರಿಮೋಟ್ ಕೋಡ್ ಎಕ್ಸಿಕ್ಯೂಶನ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ.

stralloc_readyplus() ಫಂಕ್ಷನ್‌ನಲ್ಲಿನ ಪೂರ್ಣಾಂಕದ ಓವರ್‌ಫ್ಲೋನಿಂದ ಸಮಸ್ಯೆ ಉಂಟಾಗುತ್ತದೆ, ಇದು ಬಹಳ ದೊಡ್ಡ ಸಂದೇಶವನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುವಾಗ ಸಂಭವಿಸಬಹುದು. ಕಾರ್ಯಾಚರಣೆಗೆ 64GB ಗಿಂತ ಹೆಚ್ಚಿನ ವರ್ಚುವಲ್ ಮೆಮೊರಿಯೊಂದಿಗೆ 4-ಬಿಟ್ ಸಿಸ್ಟಮ್ ಅಗತ್ಯವಿದೆ. ದೌರ್ಬಲ್ಯವನ್ನು ಮೂಲತಃ 2005 ರಲ್ಲಿ ವಿಶ್ಲೇಷಿಸಿದಾಗ, ಡೇನಿಯಲ್ ಜೆ. ಬರ್ನ್‌ಸ್ಟೈನ್ ಅವರು ಪ್ರತಿ ಪ್ರಕ್ರಿಯೆಗೆ ಯಾರೂ ಗಿಗಾಬೈಟ್‌ಗಳ ಮೆಮೊರಿಯನ್ನು ಒದಗಿಸುವುದಿಲ್ಲ ಎಂಬ ಅಂಶವನ್ನು ಆಧರಿಸಿ ನಿಯೋಜಿಸಲಾದ ರಚನೆಯ ಗಾತ್ರವು ಯಾವಾಗಲೂ 32-ಬಿಟ್ ಮೌಲ್ಯದ ಒಳಗೆ ಇರುತ್ತದೆ ಎಂಬ ಕೋಡ್‌ನಲ್ಲಿನ ಊಹೆಯನ್ನು ವಾದಿಸಿದರು. ಕಳೆದ 15 ವರ್ಷಗಳಲ್ಲಿ, ಸರ್ವರ್‌ಗಳಲ್ಲಿನ 64-ಬಿಟ್ ಸಿಸ್ಟಮ್‌ಗಳು 32-ಬಿಟ್ ಸಿಸ್ಟಮ್‌ಗಳನ್ನು ಬದಲಾಯಿಸಿವೆ ಮತ್ತು ಸರಬರಾಜು ಮಾಡಲಾದ ಮೆಮೊರಿ ಮತ್ತು ನೆಟ್‌ವರ್ಕ್ ಬ್ಯಾಂಡ್‌ವಿಡ್ತ್ ಪ್ರಮಾಣವು ನಾಟಕೀಯವಾಗಿ ಹೆಚ್ಚಾಗಿದೆ.

qmail ಪ್ಯಾಕೇಜ್ ನಿರ್ವಾಹಕರು ಬರ್ನ್‌ಸ್ಟೈನ್‌ನ ಟಿಪ್ಪಣಿಯನ್ನು ಗಣನೆಗೆ ತೆಗೆದುಕೊಂಡರು ಮತ್ತು qmail-smtpd ಪ್ರಕ್ರಿಯೆಯನ್ನು ಪ್ರಾರಂಭಿಸುವಾಗ ಲಭ್ಯವಿರುವ ಮೆಮೊರಿಯನ್ನು ಸೀಮಿತಗೊಳಿಸಿದರು (ಉದಾಹರಣೆಗೆ, Debian 10 ರಲ್ಲಿ ಮಿತಿಯನ್ನು 7MB ಗೆ ಹೊಂದಿಸಲಾಗಿದೆ). ಆದರೆ ಕ್ವಾಲಿಸ್‌ನ ಇಂಜಿನಿಯರ್‌ಗಳು ಇದು ಸಾಕಾಗುವುದಿಲ್ಲ ಎಂದು ಕಂಡುಹಿಡಿದರು ಮತ್ತು qmail-smtpd ಜೊತೆಗೆ, qmail-ಸ್ಥಳೀಯ ಪ್ರಕ್ರಿಯೆಯ ಮೇಲೆ ರಿಮೋಟ್ ದಾಳಿಯನ್ನು ನಡೆಸಬಹುದು, ಇದು ಎಲ್ಲಾ ಪರೀಕ್ಷಿತ ಪ್ಯಾಕೇಜ್‌ಗಳಲ್ಲಿ ಅನಿರ್ಬಂಧಿತವಾಗಿದೆ. ಪುರಾವೆಯಾಗಿ, ಡೀಫಾಲ್ಟ್ ಕಾನ್ಫಿಗರೇಶನ್‌ನಲ್ಲಿ qmail ನೊಂದಿಗೆ ಡೆಬಿಯನ್ ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಆಕ್ರಮಣ ಮಾಡಲು ಸೂಕ್ತವಾದ ಒಂದು ಶೋಷಣೆಯ ಮೂಲಮಾದರಿಯನ್ನು ಸಿದ್ಧಪಡಿಸಲಾಗಿದೆ.
ದಾಳಿಯ ಸಮಯದಲ್ಲಿ ರಿಮೋಟ್ ಕೋಡ್ ಎಕ್ಸಿಕ್ಯೂಶನ್ ಅನ್ನು ಸಂಘಟಿಸಲು, ಸರ್ವರ್‌ಗೆ 4GB ಉಚಿತ ಡಿಸ್ಕ್ ಸ್ಥಳ ಮತ್ತು 8GB RAM ಅಗತ್ಯವಿದೆ.
"/ಹೋಮ್" ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ ತಮ್ಮದೇ ಆದ ಉಪ ಡೈರೆಕ್ಟರಿಯನ್ನು ಹೊಂದಿರದ ರೂಟ್ ಮತ್ತು ಸಿಸ್ಟಮ್ ಬಳಕೆದಾರರನ್ನು ಹೊರತುಪಡಿಸಿ, ಸಿಸ್ಟಮ್‌ನಲ್ಲಿ ಯಾವುದೇ ಬಳಕೆದಾರರ ಹಕ್ಕುಗಳೊಂದಿಗೆ ಯಾವುದೇ ಶೆಲ್ ಆಜ್ಞೆಗಳನ್ನು ಚಲಾಯಿಸಲು ಶೋಷಣೆ ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ (qmail-ಸ್ಥಳೀಯ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಹಕ್ಕುಗಳೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸಲಾಗಿದೆ ಸ್ಥಳೀಯ ಬಳಕೆದಾರರಿಗೆ ವಿತರಣೆಯನ್ನು ಕೈಗೊಳ್ಳಲಾಗುತ್ತದೆ).

ದಾಳಿ ನಡೆಸಲಾಗಿದೆ
ಸುಮಾರು 4GB ಮತ್ತು 576MB ಅಳತೆಯ ಹಲವಾರು ಹೆಡರ್ ಲೈನ್‌ಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ದೊಡ್ಡದಾದ ಮೇಲ್ ಸಂದೇಶವನ್ನು ಕಳುಹಿಸುವ ಮೂಲಕ. ಅಂತಹ ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು qmail-local ನಲ್ಲಿ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುವುದರಿಂದ ಸ್ಥಳೀಯ ಬಳಕೆದಾರರಿಗೆ ಸಂದೇಶವನ್ನು ತಲುಪಿಸಲು ಪ್ರಯತ್ನಿಸುವಾಗ ಪೂರ್ಣಾಂಕದ ಉಕ್ಕಿ ಹರಿಯುತ್ತದೆ. ಒಂದು ಪೂರ್ಣಾಂಕದ ಓವರ್‌ಫ್ಲೋ ನಂತರ ಡೇಟಾವನ್ನು ನಕಲಿಸುವಾಗ ಬಫರ್ ಓವರ್‌ಫ್ಲೋಗೆ ಕಾರಣವಾಗುತ್ತದೆ ಮತ್ತು ಮೆಮೊರಿ ಪುಟಗಳನ್ನು libc ಕೋಡ್‌ನೊಂದಿಗೆ ಓವರ್‌ರೈಟ್ ಮಾಡುವ ಸಾಧ್ಯತೆಯಿದೆ. ರವಾನೆಯಾದ ಡೇಟಾದ ವಿನ್ಯಾಸವನ್ನು ಕುಶಲತೆಯಿಂದ ನಿರ್ವಹಿಸುವ ಮೂಲಕ, "ಓಪನ್ ()" ಕಾರ್ಯದ ವಿಳಾಸವನ್ನು ಪುನಃ ಬರೆಯಲು ಸಹ ಸಾಧ್ಯವಿದೆ, ಅದನ್ನು "ಸಿಸ್ಟಮ್ ()" ಕಾರ್ಯದ ವಿಳಾಸದೊಂದಿಗೆ ಬದಲಾಯಿಸಬಹುದು.

ಮುಂದೆ, qmail-local ನಲ್ಲಿ qmesearch() ಅನ್ನು ಕರೆಯುವ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ, ".qmail-extension" ಫೈಲ್ ಅನ್ನು ಓಪನ್ () ಕಾರ್ಯದ ಮೂಲಕ ತೆರೆಯಲಾಗುತ್ತದೆ, ಇದು ಕಾರ್ಯದ ನಿಜವಾದ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಗೆ ಕಾರಣವಾಗುತ್ತದೆ.
ವ್ಯವಸ್ಥೆ(".qmail-extension"). ಆದರೆ ಫೈಲ್‌ನ “ವಿಸ್ತರಣೆ” ಭಾಗವನ್ನು ಸ್ವೀಕರಿಸುವವರ ವಿಳಾಸವನ್ನು ಆಧರಿಸಿ ರಚಿಸಲಾಗಿದೆ (ಉದಾಹರಣೆಗೆ, “localuser-extension@localdomain”), ಆಕ್ರಮಣಕಾರರು “localuser-; ಕಮಾಂಡ್” ಬಳಕೆದಾರರನ್ನು ಸೂಚಿಸುವ ಮೂಲಕ ಆಜ್ಞೆಯನ್ನು ಚಲಾಯಿಸಲು ಕಳುಹಿಸಲು ವ್ಯವಸ್ಥೆ ಮಾಡಬಹುದು. ;@localdomain” ಸಂದೇಶವನ್ನು ಸ್ವೀಕರಿಸುವವರಾಗಿ.

ಕೋಡ್ ವಿಶ್ಲೇಷಣೆಯ ಸಮಯದಲ್ಲಿ, ಹೆಚ್ಚುವರಿ qmail-verify ಪ್ಯಾಚ್‌ನಲ್ಲಿ ಎರಡು ದೋಷಗಳನ್ನು ಗುರುತಿಸಲಾಗಿದೆ, ಇದು Debian ಗಾಗಿ ಪ್ಯಾಕೇಜ್‌ನ ಭಾಗವಾಗಿದೆ. ಮೊದಲ ದುರ್ಬಲತೆ (CVE-2020-3811) ಇಮೇಲ್ ವಿಳಾಸ ಪರಿಶೀಲನೆಯನ್ನು ಬೈಪಾಸ್ ಮಾಡಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ, ಮತ್ತು ಎರಡನೆಯದು (CVE-2020-3812) ಸ್ಥಳೀಯ ಮಾಹಿತಿಯ ಸೋರಿಕೆಗೆ ಕಾರಣವಾಗುತ್ತದೆ. ನಿರ್ದಿಷ್ಟವಾಗಿ ಹೇಳುವುದಾದರೆ, ಕಮಾಂಡ್ ಕಳುಹಿಸಲು ಶೋಷಣೆಯಲ್ಲಿ ಬಳಸಲಾದ ವಿಳಾಸದ ನಿಖರತೆಯ ಪರಿಶೀಲನೆಯನ್ನು ಬೈಪಾಸ್ ಮಾಡಲು ಮೊದಲ ದುರ್ಬಲತೆಯು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ ("ಲೋಕಲ್ಯೂಸರ್-; ಕಮಾಂಡ್;" ನಂತಹ ಡೊಮೇನ್ ಇಲ್ಲದ ವಿಳಾಸಗಳಿಗೆ ಪರಿಶೀಲನೆ ಕಾರ್ಯನಿರ್ವಹಿಸುವುದಿಲ್ಲ). ಸ್ಥಳೀಯ ಹ್ಯಾಂಡ್ಲರ್‌ಗೆ ನೇರ ಕರೆ ಮೂಲಕ ರೂಟ್‌ಗೆ ಮಾತ್ರ ಪ್ರವೇಶಿಸಬಹುದಾದ ಫೈಲ್‌ಗಳು ಮತ್ತು ಡೈರೆಕ್ಟರಿಗಳ ಉಪಸ್ಥಿತಿಯನ್ನು ಪರಿಶೀಲಿಸಲು ಎರಡನೇ ದುರ್ಬಲತೆಯನ್ನು ಬಳಸಬಹುದು (qmail-verify root rights with root).

ಸಮಸ್ಯೆಯ ಪರಿಹಾರಕ್ಕಾಗಿ, ಬರ್ನ್‌ಸ್ಟೈನ್ ಲಭ್ಯವಿರುವ ಮೆಮೊರಿಯ ಒಟ್ಟು ಮಿತಿಯೊಂದಿಗೆ qmail ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ಚಾಲನೆ ಮಾಡಲು ಶಿಫಾರಸು ಮಾಡಿದರು (“softlimit -m12345678”), ಈ ಸಂದರ್ಭದಲ್ಲಿ ಸಮಸ್ಯೆಯನ್ನು ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ. ರಕ್ಷಣೆಯ ಪರ್ಯಾಯ ವಿಧಾನವಾಗಿ, "ನಿಯಂತ್ರಣ/ಡೇಟಾಬೈಟ್‌ಗಳು" ಫೈಲ್ ಮೂಲಕ ಸಂಸ್ಕರಿಸಿದ ಸಂದೇಶದ ಗರಿಷ್ಟ ಗಾತ್ರವನ್ನು ಸೀಮಿತಗೊಳಿಸುವುದನ್ನು ಸಹ ಉಲ್ಲೇಖಿಸಲಾಗಿದೆ (ಡೀಫಾಲ್ಟ್ ಆಗಿ ಇದನ್ನು ಡೀಫಾಲ್ಟ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳೊಂದಿಗೆ ರಚಿಸಲಾಗಿಲ್ಲ qmail ದುರ್ಬಲವಾಗಿರುತ್ತದೆ). ಹೆಚ್ಚುವರಿಯಾಗಿ, "ನಿಯಂತ್ರಣ/ಡೇಟಾಬೈಟ್‌ಗಳು" ಸಿಸ್ಟಮ್ ಬಳಕೆದಾರರಿಂದ ಸ್ಥಳೀಯ ದಾಳಿಯಿಂದ ರಕ್ಷಿಸುವುದಿಲ್ಲ, ಏಕೆಂದರೆ ಮಿತಿಯನ್ನು qmail-smtpd ಮೂಲಕ ಮಾತ್ರ ಗಣನೆಗೆ ತೆಗೆದುಕೊಳ್ಳಲಾಗುತ್ತದೆ.

ಸಮಸ್ಯೆಯು ಪ್ಯಾಕೇಜ್ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರುತ್ತದೆ netqmail, ಡೆಬಿಯನ್ ರೆಪೊಸಿಟರಿಗಳಲ್ಲಿ ಸೇರಿಸಲಾಗಿದೆ. ಈ ಪ್ಯಾಕೇಜ್‌ಗಾಗಿ ಪ್ಯಾಚ್‌ಗಳ ಗುಂಪನ್ನು ಸಿದ್ಧಪಡಿಸಲಾಗಿದೆ, 2005 ರಿಂದ ಹಳೆಯ ದುರ್ಬಲತೆಗಳನ್ನು (ಅಲೋಕ್() ಫಂಕ್ಷನ್ ಕೋಡ್‌ಗೆ ಹಾರ್ಡ್ ಮೆಮೊರಿ ಮಿತಿಗಳನ್ನು ಸೇರಿಸುವ ಮೂಲಕ) ಮತ್ತು qmail-verify ನಲ್ಲಿ ಹೊಸ ಸಮಸ್ಯೆಗಳನ್ನು ತೆಗೆದುಹಾಕಲಾಗಿದೆ. ಪ್ರತ್ಯೇಕವಾಗಿ ತಯಾರಾದ qmail-verify ಪ್ಯಾಚ್‌ನ ನವೀಕರಿಸಿದ ಆವೃತ್ತಿ. ಡೆವಲಪರ್‌ಗಳು ಶಾಖೆಗಳು notqmail ಹಳೆಯ ಸಮಸ್ಯೆಗಳನ್ನು ತಡೆಯಲು ತಮ್ಮದೇ ಆದ ಪ್ಯಾಚ್‌ಗಳನ್ನು ಸಿದ್ಧಪಡಿಸಿದರು ಮತ್ತು ಕೋಡ್‌ನಲ್ಲಿ ಎಲ್ಲಾ ಸಂಭಾವ್ಯ ಪೂರ್ಣಾಂಕದ ಉಕ್ಕಿ ಹರಿಯುವುದನ್ನು ತೆಗೆದುಹಾಕಲು ಕೆಲಸ ಮಾಡಲು ಪ್ರಾರಂಭಿಸಿದರು.

ಮೂಲ: opennet.ru

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