ಕರ್ಲ್ ಮತ್ತು ಲಿಬ್‌ಕರ್ಲ್‌ನಲ್ಲಿ ಬಫರ್ ಓವರ್‌ಫ್ಲೋ, SOCKS5 ಪ್ರಾಕ್ಸಿ ಮೂಲಕ ಪ್ರವೇಶಿಸುವಾಗ ಪ್ರಕಟವಾಗುತ್ತದೆ

ಕರ್ಲ್ ನೆಟ್‌ವರ್ಕ್ ಮತ್ತು ಲಿಬ್‌ಕರ್ಲ್ ಲೈಬ್ರರಿಯ ಮೂಲಕ ಡೇಟಾವನ್ನು ಸ್ವೀಕರಿಸಲು ಮತ್ತು ಕಳುಹಿಸಲು ಉಪಯುಕ್ತತೆಯಲ್ಲಿ ದುರ್ಬಲತೆಯನ್ನು (CVE-2023-38545) ಗುರುತಿಸಲಾಗಿದೆ, ಇದನ್ನು ಸಮಾನಾಂತರವಾಗಿ ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಗುತ್ತಿದೆ, ಇದು ಬಫರ್ ಓವರ್‌ಫ್ಲೋಗೆ ಕಾರಣವಾಗಬಹುದು ಮತ್ತು ಆಕ್ರಮಣಕಾರರ ಕೋಡ್ ಅನ್ನು ಸಮರ್ಥವಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದು. ದಾಳಿಕೋರರಿಂದ ನಿಯಂತ್ರಿಸಲ್ಪಡುವ HTTPS ಸರ್ವರ್‌ಗೆ ಕರ್ಲ್ ಉಪಯುಕ್ತತೆ ಅಥವಾ libcurl ಬಳಸಿಕೊಂಡು ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಕ್ಲೈಂಟ್ ಸೈಡ್ ಅನ್ನು ಪ್ರವೇಶಿಸಿದಾಗ. SOCKS5 ಪ್ರಾಕ್ಸಿ ಮೂಲಕ ಪ್ರವೇಶವನ್ನು ಕರ್ಲ್‌ನಲ್ಲಿ ಸಕ್ರಿಯಗೊಳಿಸಿದರೆ ಮಾತ್ರ ಸಮಸ್ಯೆ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತದೆ. ಪ್ರಾಕ್ಸಿ ಇಲ್ಲದೆ ನೇರವಾಗಿ ಪ್ರವೇಶಿಸಿದಾಗ, ದುರ್ಬಲತೆ ಕಾಣಿಸುವುದಿಲ್ಲ. ಕರ್ಲ್ 8.4.0 ಬಿಡುಗಡೆಯಲ್ಲಿ ದುರ್ಬಲತೆಯನ್ನು ನಿವಾರಿಸಲಾಗಿದೆ. ದೋಷವನ್ನು ಕಂಡುಹಿಡಿದ ಭದ್ರತಾ ಸಂಶೋಧಕರು ಹ್ಯಾಕರೋನ್‌ನ ಇಂಟರ್ನೆಟ್ ಬಗ್ ಬೌಂಟಿ ಉಪಕ್ರಮದ ಭಾಗವಾಗಿ $4660 ಬಹುಮಾನವನ್ನು ಪಡೆದರು.

SOCKS5 ಪ್ರಾಕ್ಸಿಯನ್ನು ಪ್ರವೇಶಿಸುವ ಮೊದಲು ಹೋಸ್ಟ್ ನೇಮ್ ರೆಸಲ್ಯೂಶನ್ ಕೋಡ್‌ನಲ್ಲಿನ ದೋಷದಿಂದ ದುರ್ಬಲತೆ ಉಂಟಾಗುತ್ತದೆ. ಹೋಸ್ಟ್ ಹೆಸರು 256 ಅಕ್ಷರಗಳವರೆಗೆ ಉದ್ದವಾಗಿದ್ದರೆ, ಕರ್ಲ್ ತಕ್ಷಣವೇ ಹೆಸರನ್ನು ಅದರ ಬದಿಯಲ್ಲಿ ರೆಸಲ್ಯೂಶನ್‌ಗಾಗಿ SOCKS5 ಪ್ರಾಕ್ಸಿಗೆ ರವಾನಿಸುತ್ತದೆ ಮತ್ತು ಹೆಸರು 255 ಅಕ್ಷರಗಳಿಗಿಂತ ಹೆಚ್ಚಿದ್ದರೆ, ಅದು ಸ್ಥಳೀಯ ಪರಿಹಾರಕಕ್ಕೆ ಬದಲಾಯಿಸುತ್ತದೆ ಮತ್ತು ಈಗಾಗಲೇ ವ್ಯಾಖ್ಯಾನಿಸಲಾದ ವಿಳಾಸವನ್ನು SOCKS5 ಗೆ ರವಾನಿಸುತ್ತದೆ. . ಕೋಡ್‌ನಲ್ಲಿನ ದೋಷದಿಂದಾಗಿ, SOCKS5 ಮೂಲಕ ಸಂಪರ್ಕದ ನಿಧಾನ ಮಾತುಕತೆಯ ಸಮಯದಲ್ಲಿ ಸ್ಥಳೀಯ ರೆಸಲ್ಯೂಶನ್‌ನ ಅಗತ್ಯವನ್ನು ಸೂಚಿಸುವ ಫ್ಲ್ಯಾಗ್ ಅನ್ನು ತಪ್ಪಾದ ಮೌಲ್ಯಕ್ಕೆ ಹೊಂದಿಸಬಹುದು, ಇದು ನಿರೀಕ್ಷೆಯೊಂದಿಗೆ ನಿಯೋಜಿಸಲಾದ ಬಫರ್‌ನಲ್ಲಿ ದೀರ್ಘ ಹೋಸ್ಟ್ ಹೆಸರನ್ನು ರೆಕಾರ್ಡ್ ಮಾಡಲು ಕಾರಣವಾಯಿತು. IP ವಿಳಾಸ ಅಥವಾ ಹೆಸರನ್ನು ಸಂಗ್ರಹಿಸುವುದು, 255 ಅಕ್ಷರಗಳನ್ನು ಮೀರಬಾರದು.

SOCKS5 ಪ್ರಾಕ್ಸಿ ಮೂಲಕ ಕರ್ಲ್ ಮೂಲಕ ಪ್ರವೇಶಿಸಿದ ಸೈಟ್‌ನ ಮಾಲೀಕರು ವಿನಂತಿಯ ಮರುನಿರ್ದೇಶನ ಕೋಡ್ (HTTP 30x) ಅನ್ನು ಹಿಂತಿರುಗಿಸುವ ಮೂಲಕ ಕ್ಲೈಂಟ್-ಸೈಡ್ ಬಫರ್ ಓವರ್‌ಫ್ಲೋ ಅನ್ನು ಪ್ರಚೋದಿಸಬಹುದು ಮತ್ತು "ಸ್ಥಳ:" ಹೆಡರ್ ಅನ್ನು 16 ರ ವ್ಯಾಪ್ತಿಯಲ್ಲಿರುವ ಹೋಸ್ಟ್ ಹೆಸರಿನೊಂದಿಗೆ URL ಗೆ ಹೊಂದಿಸಬಹುದು 64 KB ಗೆ (16 KB ನಿಯೋಜಿತ ಬಫರ್ ಅನ್ನು ಓವರ್‌ಫ್ಲೋ ಮಾಡಲು ಅಗತ್ಯವಿರುವ ಕನಿಷ್ಠ ಗಾತ್ರವಾಗಿದೆ ಮತ್ತು 65 KB ಯು URL ನಲ್ಲಿ ಗರಿಷ್ಠ ಅನುಮತಿಸಲಾದ ಹೋಸ್ಟ್‌ನೇಮ್ ಉದ್ದವಾಗಿದೆ). ಲಿಬ್‌ಕರ್ಲ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ ವಿನಂತಿ ಮರುನಿರ್ದೇಶನವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿದರೆ ಮತ್ತು ಬಳಸಿದ SOCKS5 ಪ್ರಾಕ್ಸಿ ಸಾಕಷ್ಟು ನಿಧಾನವಾಗಿದ್ದರೆ, ದೀರ್ಘ ಹೋಸ್ಟ್ ಹೆಸರನ್ನು ಸಣ್ಣ ಬಫರ್‌ಗೆ ಬರೆಯಲಾಗುತ್ತದೆ, ನಿಸ್ಸಂಶಯವಾಗಿ ಚಿಕ್ಕ ಗಾತ್ರದ.

ದುರ್ಬಲತೆಯು ಮುಖ್ಯವಾಗಿ libcurl ಆಧಾರಿತ ಅಪ್ಲಿಕೇಶನ್‌ಗಳ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರುತ್ತದೆ ಮತ್ತು 65541 ಕ್ಕಿಂತ ಕಡಿಮೆ ಮೌಲ್ಯದೊಂದಿಗೆ “--limit-rate” ಆಯ್ಕೆಯನ್ನು ಬಳಸುವಾಗ ಮಾತ್ರ ಕರ್ಲ್ ಉಪಯುಕ್ತತೆಯಲ್ಲಿ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತದೆ - libcurl ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ 16 KB ಗಾತ್ರದ ಬಫರ್ ಅನ್ನು ನಿಯೋಜಿಸುತ್ತದೆ ಮತ್ತು ಕರ್ಲ್ ಉಪಯುಕ್ತತೆಯಲ್ಲಿ ಇದು 100 KB ಆಗಿದೆ, ಆದರೆ ಇದು "-limit-rate" ನಿಯತಾಂಕದ ಮೌಲ್ಯವನ್ನು ಅವಲಂಬಿಸಿ ಗಾತ್ರ ಬದಲಾಗುತ್ತದೆ.

ಯೋಜನೆಯ ಲೇಖಕರಾದ ಡೇನಿಯಲ್ ಸ್ಟೆನ್‌ಬರ್ಗ್, 1315 ದಿನಗಳವರೆಗೆ ದುರ್ಬಲತೆಯನ್ನು ಪತ್ತೆಹಚ್ಚಲಾಗಲಿಲ್ಲ ಎಂದು ಉಲ್ಲೇಖಿಸಿದ್ದಾರೆ. ಕರ್ಲ್ ಅನ್ನು ಮೆಮೊರಿ-ಸುರಕ್ಷಿತ ಭಾಷೆಯಲ್ಲಿ ಬರೆದಿದ್ದರೆ ಕರ್ಲ್‌ನಲ್ಲಿ ಈ ಹಿಂದೆ ಗುರುತಿಸಲಾದ 41% ದುರ್ಬಲತೆಗಳನ್ನು ತಪ್ಪಿಸಬಹುದಿತ್ತು ಎಂದು ಅದು ಹೇಳುತ್ತದೆ, ಆದರೆ ನಿರೀಕ್ಷಿತ ಭವಿಷ್ಯದಲ್ಲಿ ಕರ್ಲ್ ಅನ್ನು ಮತ್ತೊಂದು ಭಾಷೆಗೆ ಪುನಃ ಬರೆಯುವ ಯಾವುದೇ ಯೋಜನೆಗಳಿಲ್ಲ. ಕೋಡ್ ಬೇಸ್ನ ಸುರಕ್ಷತೆಯನ್ನು ಸುಧಾರಿಸಲು ಕ್ರಮವಾಗಿ, ಕೋಡ್ ಅನ್ನು ಪರೀಕ್ಷಿಸಲು ಪರಿಕರಗಳನ್ನು ವಿಸ್ತರಿಸಲು ಮತ್ತು ಮೆಮೊರಿಯೊಂದಿಗೆ ಸುರಕ್ಷಿತ ಕಾರ್ಯಾಚರಣೆಯನ್ನು ಖಚಿತಪಡಿಸುವ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳಲ್ಲಿ ಬರೆಯಲಾದ ಅವಲಂಬನೆಗಳನ್ನು ಹೆಚ್ಚು ಸಕ್ರಿಯವಾಗಿ ಬಳಸಲು ಪ್ರಸ್ತಾಪಿಸಲಾಗಿದೆ. ರಸ್ಟ್‌ನಲ್ಲಿ ಅಳವಡಿಸಲಾಗಿರುವ ಪ್ರಾಯೋಗಿಕ ಹೈಪರ್ ಎಚ್‌ಟಿಟಿಪಿ ಬ್ಯಾಕೆಂಡ್‌ನಂತಹ ಸುರಕ್ಷಿತ ಭಾಷೆಗಳಲ್ಲಿ ಬರೆಯಲಾದ ಆಯ್ಕೆಗಳೊಂದಿಗೆ ಕರ್ಲ್‌ನ ಭಾಗಗಳನ್ನು ಕ್ರಮೇಣವಾಗಿ ಬದಲಾಯಿಸುವ ಸಾಧ್ಯತೆಯನ್ನು ಇದು ಪರಿಗಣಿಸುತ್ತಿದೆ.

ಮೂಲ: opennet.ru

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