ಸಿಸ್ಟಂನಲ್ಲಿನ ಫೈಲ್‌ಗಳ ಓವರ್‌ರೈಟ್‌ಗೆ ಕಾರಣವಾಗುವ NPM ನಲ್ಲಿನ ದುರ್ಬಲತೆ

GitHub ಟಾರ್ ಮತ್ತು @npmcli/arborist ಪ್ಯಾಕೇಜ್‌ಗಳಲ್ಲಿ ಏಳು ದುರ್ಬಲತೆಗಳ ವಿವರಗಳನ್ನು ಬಹಿರಂಗಪಡಿಸಿದೆ, ಇದು ಟಾರ್ ಆರ್ಕೈವ್‌ಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು ಮತ್ತು Node.js ನಲ್ಲಿ ಡಿಪೆಂಡೆನ್ಸಿ ಟ್ರೀ ಅನ್ನು ಲೆಕ್ಕಾಚಾರ ಮಾಡಲು ಕಾರ್ಯಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ. ದುರ್ಬಲತೆಗಳು ವಿಶೇಷವಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಿದ ಆರ್ಕೈವ್ ಅನ್ನು ಅನ್ಪ್ಯಾಕ್ ಮಾಡುವಾಗ, ಪ್ರಸ್ತುತ ಪ್ರವೇಶ ಹಕ್ಕುಗಳು ಅನುಮತಿಸುವವರೆಗೆ ಅನ್ಪ್ಯಾಕ್ ಮಾಡಲಾದ ರೂಟ್ ಡೈರೆಕ್ಟರಿಯ ಹೊರಗೆ ಫೈಲ್‌ಗಳನ್ನು ಓವರ್‌ರೈಟ್ ಮಾಡಲು ಅನುಮತಿಸುತ್ತದೆ. ಸಮಸ್ಯೆಗಳು ಸಿಸ್ಟಂನಲ್ಲಿ ಅನಿಯಂತ್ರಿತ ಕೋಡ್‌ನ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯನ್ನು ಸಂಘಟಿಸಲು ಸಾಧ್ಯವಾಗಿಸುತ್ತದೆ, ಉದಾಹರಣೆಗೆ, ಒಂದು ಕಾರ್ಯಾಚರಣೆಯನ್ನು ಅನಪೇಕ್ಷಿತ ಬಳಕೆದಾರರಿಂದ ನಿರ್ವಹಿಸಿದಾಗ ~/.bashrc ಅಥವಾ ~/.profile ಗೆ ಆಜ್ಞೆಗಳನ್ನು ಸೇರಿಸುವ ಮೂಲಕ ಅಥವಾ ಚಾಲನೆಯಲ್ಲಿರುವಾಗ ಸಿಸ್ಟಮ್ ಫೈಲ್‌ಗಳನ್ನು ಬದಲಾಯಿಸುವ ಮೂಲಕ ಬೇರು.

npm ಪ್ಯಾಕೇಜ್‌ಗಳೊಂದಿಗೆ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ನಿರ್ವಹಿಸುವಾಗ ಸಮಸ್ಯಾತ್ಮಕ ಕೋಡ್ ಅನ್ನು npm ಪ್ಯಾಕೇಜ್ ಮ್ಯಾನೇಜರ್‌ನಲ್ಲಿ ಬಳಸುವುದರಿಂದ ದೋಷಗಳ ಅಪಾಯವು ಉಲ್ಬಣಗೊಂಡಿದೆ, ಇದು ರೆಪೊಸಿಟರಿಯಲ್ಲಿ ವಿಶೇಷವಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಿದ npm ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಇರಿಸುವ ಮೂಲಕ ಬಳಕೆದಾರರ ಮೇಲೆ ದಾಳಿಯನ್ನು ಸಂಘಟಿಸಲು ಸಾಧ್ಯವಾಗಿಸುತ್ತದೆ, ಪ್ರಕ್ರಿಯೆ ಇದು ಸಿಸ್ಟಂನಲ್ಲಿ ಆಕ್ರಮಣಕಾರರ ಕೋಡ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ. "-ಇಗ್ನೋರ್-ಸ್ಕ್ರಿಪ್ಟ್" ಮೋಡ್‌ನಲ್ಲಿ ಪ್ಯಾಕೇಜುಗಳನ್ನು ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡುವಾಗಲೂ ದಾಳಿಯು ಸಾಧ್ಯ, ಇದು ಅಂತರ್ನಿರ್ಮಿತ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ. ಒಟ್ಟಾರೆಯಾಗಿ, npm ಏಳರಲ್ಲಿ ನಾಲ್ಕು ದುರ್ಬಲತೆಗಳ ಮೇಲೆ (CVE-2021-32804, CVE-2021-37713, CVE-2021-39134 ಮತ್ತು CVE-2021-39135) ಪರಿಣಾಮ ಬೀರುತ್ತದೆ. ಮೊದಲ ಎರಡು ಸಮಸ್ಯೆಗಳು ಟಾರ್ ಪ್ಯಾಕೇಜ್‌ಗೆ ಸಂಬಂಧಿಸಿವೆ ಮತ್ತು ಉಳಿದ ಎರಡು ಸಮಸ್ಯೆಗಳು @npmcli/arborist ಪ್ಯಾಕೇಜ್‌ಗೆ ಸಂಬಂಧಿಸಿವೆ.

ಅತ್ಯಂತ ಅಪಾಯಕಾರಿ ದುರ್ಬಲತೆ, CVE-2021-32804, ಟಾರ್ ಆರ್ಕೈವ್‌ನಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಸಂಪೂರ್ಣ ಮಾರ್ಗಗಳನ್ನು ತೆರವುಗೊಳಿಸುವಾಗ, ಪುನರಾವರ್ತಿತ “/” ಅಕ್ಷರಗಳನ್ನು ತಪ್ಪಾಗಿ ಸಂಸ್ಕರಿಸಲಾಗುತ್ತದೆ - ಮೊದಲ ಅಕ್ಷರವನ್ನು ಮಾತ್ರ ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ, ಉಳಿದವುಗಳು ಉಳಿದಿವೆ. ಉದಾಹರಣೆಗೆ, "/home/user/.bashrc" ಮಾರ್ಗವನ್ನು "home/user/.bashrc" ಗೆ ಮತ್ತು "//home/user/.bashrc" ಮಾರ್ಗವನ್ನು "/home/user/.bashrc" ಗೆ ಪರಿವರ್ತಿಸಲಾಗುತ್ತದೆ. ಎರಡನೇ ದುರ್ಬಲತೆ, CVE-2021-37713, ವಿಂಡೋಸ್ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ನಲ್ಲಿ ಮಾತ್ರ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತದೆ ಮತ್ತು ಅನಿಯಮಿತ ಡ್ರೈವ್ ಅಕ್ಷರ (“ಸಿ: ಕೆಲವು\ಪಥ”) ಮತ್ತು ಹಿಂದಿನ ಡೈರೆಕ್ಟರಿಗೆ ಹಿಂತಿರುಗುವ ಅನುಕ್ರಮವನ್ನು ಒಳಗೊಂಡಿರುವ ಸಂಬಂಧಿತ ಮಾರ್ಗಗಳ ತಪ್ಪಾದ ಶುಚಿಗೊಳಿಸುವಿಕೆಗೆ ಸಂಬಂಧಿಸಿದೆ ( "C:../foo") .

ದುರ್ಬಲತೆಗಳು CVE-2021-39134 ಮತ್ತು CVE-2021-39135 @npmcli/arborist ಮಾಡ್ಯೂಲ್‌ಗೆ ನಿರ್ದಿಷ್ಟವಾಗಿವೆ. ಫೈಲ್ ಸಿಸ್ಟಮ್ (ಮ್ಯಾಕೋಸ್ ಮತ್ತು ವಿಂಡೋಸ್) ನಲ್ಲಿನ ಅಕ್ಷರಗಳ ಪ್ರಕರಣವನ್ನು ಪ್ರತ್ಯೇಕಿಸದ ಸಿಸ್ಟಮ್‌ಗಳಲ್ಲಿ ಮಾತ್ರ ಮೊದಲ ಸಮಸ್ಯೆ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತದೆ ಮತ್ತು ಅವಲಂಬನೆಗಳ ನಡುವೆ ಎರಡು ಮಾಡ್ಯೂಲ್ '"ಫೂ" ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುವ ಮೂಲಕ ಫೈಲ್ ಸಿಸ್ಟಮ್‌ನ ಅನಿಯಂತ್ರಿತ ಭಾಗಕ್ಕೆ ಫೈಲ್‌ಗಳನ್ನು ಬರೆಯಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. : "file:/some/path"' ಮತ್ತು ' FOO: "file:foo.tgz"', ಇದರ ಪ್ರಕ್ರಿಯೆಯು /some/path ಡೈರೆಕ್ಟರಿಯ ವಿಷಯಗಳನ್ನು ಅಳಿಸಲು ಮತ್ತು foo.tgz ನ ವಿಷಯಗಳನ್ನು ಬರೆಯಲು ಕಾರಣವಾಗುತ್ತದೆ. ಎರಡನೆಯ ಸಮಸ್ಯೆಯು ಸಾಂಕೇತಿಕ ಲಿಂಕ್ ಮ್ಯಾನಿಪ್ಯುಲೇಷನ್ ಮೂಲಕ ಫೈಲ್‌ಗಳನ್ನು ತಿದ್ದಿ ಬರೆಯಲು ಅನುಮತಿಸುತ್ತದೆ.

ದೋಷಗಳನ್ನು Node.js ಬಿಡುಗಡೆಗಳು 12.22.6 ಮತ್ತು 14.17.6, npm CLI 6.14.15 ಮತ್ತು 7.21.0 ಮತ್ತು ವೈಯಕ್ತಿಕ ಟಾರ್ ಪ್ಯಾಕೇಜ್ ಬಿಡುಗಡೆಗಳು 4.4.19, 5.0.11, ಮತ್ತು 6.1.10 ನಲ್ಲಿ ಪರಿಹರಿಸಲಾಗಿದೆ. "ಬಗ್ ಬೌಂಟಿ" ಉಪಕ್ರಮದ ಭಾಗವಾಗಿ ಸಮಸ್ಯೆಯ ಬಗ್ಗೆ ಮಾಹಿತಿಯನ್ನು ಪಡೆದ ನಂತರ, GitHub ಸಂಶೋಧಕರಿಗೆ $14500 ಪಾವತಿಸಿತು ಮತ್ತು ರೆಪೊಸಿಟರಿಯ ವಿಷಯಗಳನ್ನು ಸ್ಕ್ಯಾನ್ ಮಾಡಿತು, ಇದು ದುರ್ಬಲತೆಗಳನ್ನು ಬಳಸಿಕೊಳ್ಳುವ ಪ್ರಯತ್ನಗಳನ್ನು ಬಹಿರಂಗಪಡಿಸಲಿಲ್ಲ. ಈ ಸಮಸ್ಯೆಗಳ ವಿರುದ್ಧ ರಕ್ಷಿಸಲು, ಸಾಂಕೇತಿಕ ಲಿಂಕ್‌ಗಳು, ಹಾರ್ಡ್ ಲಿಂಕ್‌ಗಳು ಮತ್ತು ರೆಪೊಸಿಟರಿಯ ಸಂಪೂರ್ಣ ಮಾರ್ಗಗಳನ್ನು ಒಳಗೊಂಡಿರುವ NPM ಪ್ಯಾಕೇಜ್‌ಗಳನ್ನು ಪ್ರಕಟಿಸುವುದನ್ನು GitHub ನಿಷೇಧಿಸಿದೆ.

ಮೂಲ: opennet.ru

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