270 ಸಾವಿರ ಯೋಜನೆಗಳಲ್ಲಿ ಬಳಸಲಾದ ನೋಡ್-ನೆಟ್‌ಮಾಸ್ಕ್ NPM ಪ್ಯಾಕೇಜ್‌ನಲ್ಲಿನ ದುರ್ಬಲತೆ

ನೋಡ್-ನೆಟ್‌ಮಾಸ್ಕ್ NPM ಪ್ಯಾಕೇಜ್, ವಾರಕ್ಕೆ ಸುಮಾರು 3 ಮಿಲಿಯನ್ ಡೌನ್‌ಲೋಡ್‌ಗಳನ್ನು ಹೊಂದಿದೆ ಮತ್ತು GitHub ನಲ್ಲಿ 270 ಸಾವಿರಕ್ಕೂ ಹೆಚ್ಚು ಪ್ರಾಜೆಕ್ಟ್‌ಗಳ ಮೇಲೆ ಅವಲಂಬನೆಯಾಗಿ ಬಳಸಲ್ಪಡುತ್ತದೆ, ಇದು ದುರ್ಬಲತೆಯನ್ನು ಹೊಂದಿದೆ (CVE-2021-28918) ಇದು ನೆಟ್‌ಮಾಸ್ಕ್ ಬಳಸುವ ಚೆಕ್‌ಗಳನ್ನು ಬೈಪಾಸ್ ಮಾಡಲು ಅನುಮತಿಸುತ್ತದೆ. ವಿಳಾಸ ಶ್ರೇಣಿಗಳಿಗೆ ಅಥವಾ ಫಿಲ್ಟರಿಂಗ್‌ಗೆ ಸಂಭವಿಸುವಿಕೆಯನ್ನು ನಿರ್ಧರಿಸಲು. ನೋಡ್-ನೆಟ್‌ಮಾಸ್ಕ್ 2.0.0 ಬಿಡುಗಡೆಯಲ್ಲಿ ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸಲಾಗಿದೆ.

ದುರ್ಬಲತೆಯು ಬಾಹ್ಯ IP ವಿಳಾಸವನ್ನು ಆಂತರಿಕ ನೆಟ್‌ವರ್ಕ್‌ನಿಂದ ವಿಳಾಸವಾಗಿ ಪರಿಗಣಿಸಲು ಸಾಧ್ಯವಾಗಿಸುತ್ತದೆ ಮತ್ತು ಪ್ರತಿಯಾಗಿ, ಮತ್ತು SSRF (ಸರ್ವರ್-ಸೈಡ್ ರಿಕ್ವೆಸ್ಟ್ ಫೋರ್ಜರಿ), RFI ಅನ್ನು ಕೈಗೊಳ್ಳಲು ಅಪ್ಲಿಕೇಶನ್‌ನಲ್ಲಿ ನೋಡ್-ನೆಟ್‌ಮಾಸ್ಕ್ ಮಾಡ್ಯೂಲ್ ಅನ್ನು ಬಳಸುವ ನಿರ್ದಿಷ್ಟ ತರ್ಕದೊಂದಿಗೆ. (ರಿಮೋಟ್ ಫೈಲ್ ಸೇರ್ಪಡೆ) ಮತ್ತು LFI (ಸ್ಥಳೀಯ ಫೈಲ್ ಸೇರ್ಪಡೆ) ದಾಳಿಗಳು ) ಆಂತರಿಕ ನೆಟ್‌ವರ್ಕ್‌ನಲ್ಲಿ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಪ್ರವೇಶಿಸಲು ಮತ್ತು ಎಕ್ಸಿಕ್ಯೂಶನ್ ಸರಪಳಿಯಲ್ಲಿ ಬಾಹ್ಯ ಅಥವಾ ಸ್ಥಳೀಯ ಫೈಲ್‌ಗಳನ್ನು ಸೇರಿಸಲು. ಸಮಸ್ಯೆಯೆಂದರೆ, ನಿರ್ದಿಷ್ಟತೆಯ ಪ್ರಕಾರ, ಶೂನ್ಯದಿಂದ ಪ್ರಾರಂಭವಾಗುವ ವಿಳಾಸ ಸ್ಟ್ರಿಂಗ್ ಮೌಲ್ಯಗಳನ್ನು ಆಕ್ಟಲ್ ಸಂಖ್ಯೆಗಳಾಗಿ ಅರ್ಥೈಸಿಕೊಳ್ಳಬೇಕು, ಆದರೆ ನೋಡ್-ನೆಟ್‌ಮಾಸ್ಕ್ ಮಾಡ್ಯೂಲ್ ಇದನ್ನು ಗಣನೆಗೆ ತೆಗೆದುಕೊಳ್ಳುವುದಿಲ್ಲ ಮತ್ತು ಅವುಗಳನ್ನು ದಶಮಾಂಶ ಸಂಖ್ಯೆಗಳಾಗಿ ಪರಿಗಣಿಸುತ್ತದೆ.

ಉದಾಹರಣೆಗೆ, ಆಕ್ರಮಣಕಾರರು "0177.0.0.1" ಮೌಲ್ಯವನ್ನು ಸೂಚಿಸುವ ಮೂಲಕ ಸ್ಥಳೀಯ ಸಂಪನ್ಮೂಲವನ್ನು ವಿನಂತಿಸಬಹುದು, ಇದು "127.0.0.1" ಗೆ ಅನುರೂಪವಾಗಿದೆ, ಆದರೆ "ನೋಡ್-ನೆಟ್‌ಮಾಸ್ಕ್" ಮಾಡ್ಯೂಲ್ ಶೂನ್ಯವನ್ನು ತ್ಯಜಿಸುತ್ತದೆ ಮತ್ತು 0177.0.0.1″ ಅನ್ನು " ಎಂದು ಪರಿಗಣಿಸುತ್ತದೆ 177.0.0.1", ಇದು ಪ್ರವೇಶ ನಿಯಮಗಳನ್ನು ಮೌಲ್ಯಮಾಪನ ಮಾಡುವಾಗ ಅಪ್ಲಿಕೇಶನ್‌ನಲ್ಲಿ, “127.0.0.1” ನೊಂದಿಗೆ ಗುರುತನ್ನು ನಿರ್ಧರಿಸಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ. ಅಂತೆಯೇ, ಆಕ್ರಮಣಕಾರರು "0127.0.0.1" ವಿಳಾಸವನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಬಹುದು, ಅದು "87.0.0.1" ಗೆ ಒಂದೇ ಆಗಿರಬೇಕು, ಆದರೆ "ನೋಡ್-ನೆಟ್‌ಮಾಸ್ಕ್" ಮಾಡ್ಯೂಲ್‌ನಲ್ಲಿ "127.0.0.1" ಎಂದು ಪರಿಗಣಿಸಲಾಗುತ್ತದೆ. ಅಂತೆಯೇ, "012.0.0.1" ("10.0.0.1" ಗೆ ಸಮನಾಗಿರುತ್ತದೆ, ಆದರೆ ಚೆಕ್ ಸಮಯದಲ್ಲಿ 12.0.0.1 ನಂತೆ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲಾಗುತ್ತದೆ) ನಂತಹ ಮೌಲ್ಯಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುವ ಮೂಲಕ ನೀವು ಇಂಟ್ರಾನೆಟ್ ವಿಳಾಸಗಳಿಗೆ ಪ್ರವೇಶಕ್ಕಾಗಿ ಚೆಕ್ ಅನ್ನು ಮೋಸಗೊಳಿಸಬಹುದು.

ಸಮಸ್ಯೆಯನ್ನು ಗುರುತಿಸಿದ ಸಂಶೋಧಕರು ಸಮಸ್ಯೆಯನ್ನು ದುರಂತ ಎಂದು ಕರೆಯುತ್ತಾರೆ ಮತ್ತು ಹಲವಾರು ದಾಳಿಯ ಸನ್ನಿವೇಶಗಳನ್ನು ಒದಗಿಸುತ್ತಾರೆ, ಆದರೆ ಅವುಗಳಲ್ಲಿ ಹೆಚ್ಚಿನವು ಊಹಾತ್ಮಕವಾಗಿ ಕಾಣುತ್ತವೆ. ಉದಾಹರಣೆಗೆ, ಇನ್‌ಪುಟ್ ವಿನಂತಿಯ ನಿಯತಾಂಕಗಳು ಅಥವಾ ಡೇಟಾದ ಆಧಾರದ ಮೇಲೆ ಸಂಪನ್ಮೂಲವನ್ನು ವಿನಂತಿಸಲು ಬಾಹ್ಯ ಸಂಪರ್ಕಗಳನ್ನು ಸ್ಥಾಪಿಸುವ Node.js-ಆಧಾರಿತ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಆಕ್ರಮಣ ಮಾಡುವ ಸಾಧ್ಯತೆಯ ಬಗ್ಗೆ ಇದು ಮಾತನಾಡುತ್ತದೆ, ಆದರೆ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ನಿರ್ದಿಷ್ಟವಾಗಿ ಹೆಸರಿಸಲಾಗಿಲ್ಲ ಅಥವಾ ವಿವರಿಸಲಾಗಿಲ್ಲ. ನಮೂದಿಸಿದ IP ವಿಳಾಸಗಳ ಆಧಾರದ ಮೇಲೆ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಲೋಡ್ ಮಾಡುವ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ನೀವು ಕಂಡುಕೊಂಡರೂ ಸಹ, ಸ್ಥಳೀಯ ನೆಟ್‌ವರ್ಕ್‌ಗೆ ಸಂಪರ್ಕಿಸದೆ ಅಥವಾ "ಕನ್ನಡಿ" IP ವಿಳಾಸಗಳ ನಿಯಂತ್ರಣವನ್ನು ಪಡೆಯದೆಯೇ ಪ್ರಾಯೋಗಿಕವಾಗಿ ದುರ್ಬಲತೆಯನ್ನು ಹೇಗೆ ಬಳಸಿಕೊಳ್ಳಬಹುದು ಎಂಬುದು ಸಂಪೂರ್ಣವಾಗಿ ಸ್ಪಷ್ಟವಾಗಿಲ್ಲ.

87.0.0.1 (ಟೆಲಿಕಾಂ ಇಟಾಲಿಯಾ) ಮತ್ತು 0177.0.0.1 (ಬ್ರೆಸಿಲ್ ಟೆಲಿಕಾಂ) ನ ಮಾಲೀಕರು 127.0.0.1 ಗೆ ಪ್ರವೇಶ ನಿರ್ಬಂಧವನ್ನು ಬೈಪಾಸ್ ಮಾಡಲು ಸಮರ್ಥರಾಗಿದ್ದಾರೆ ಎಂದು ಸಂಶೋಧಕರು ಊಹಿಸುತ್ತಾರೆ. ವಿವಿಧ ಅಪ್ಲಿಕೇಶನ್-ಸೈಡ್ ಬ್ಲಾಕ್ ಪಟ್ಟಿಗಳನ್ನು ಬೈಪಾಸ್ ಮಾಡಲು ದುರ್ಬಲತೆಯನ್ನು ಬಳಸಿಕೊಳ್ಳುವುದು ಹೆಚ್ಚು ವಾಸ್ತವಿಕ ಸನ್ನಿವೇಶವಾಗಿದೆ. NPM ಮಾಡ್ಯೂಲ್ "ಪ್ರೈವೇಟ್-ಐಪಿ" ನಲ್ಲಿ ಇಂಟ್ರಾನೆಟ್ ಶ್ರೇಣಿಗಳ ವ್ಯಾಖ್ಯಾನವನ್ನು ಹಂಚಿಕೊಳ್ಳಲು ಸಹ ಸಮಸ್ಯೆಯನ್ನು ಅನ್ವಯಿಸಬಹುದು.

ಮೂಲ: opennet.ru

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