Snap ಪ್ಯಾಕೇಜ್ ಮ್ಯಾನೇಜ್‌ಮೆಂಟ್ ಟೂಲ್‌ಕಿಟ್‌ನಲ್ಲಿ ಸ್ಥಳೀಯ ಮೂಲ ದೋಷಗಳು

ಕ್ವಾಲಿಸ್ ಎರಡು ದುರ್ಬಲತೆಗಳನ್ನು (CVE-2021-44731, CVE-2021-44730) ಗುರುತಿಸಿದೆ, SUID ರೂಟ್ ಫ್ಲ್ಯಾಗ್‌ನೊಂದಿಗೆ ಸರಬರಾಜು ಮಾಡಲಾಗಿದೆ ಮತ್ತು ಸ್ವಯಂ-ಒಳಗೊಂಡಿರುವ ಪ್ಯಾಕೇಜ್‌ಗಳಲ್ಲಿ ವಿತರಿಸಲಾದ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗೆ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಪರಿಸರವನ್ನು ರಚಿಸಲು snapd ಪ್ರಕ್ರಿಯೆಯಿಂದ ಕರೆಯಲ್ಪಟ್ಟಿದೆ. ಸ್ನ್ಯಾಪ್ ರೂಪದಲ್ಲಿ. ದೋಷಗಳು ಸ್ಥಳೀಯ ಸವಲತ್ತುಗಳಿಲ್ಲದ ಬಳಕೆದಾರರಿಗೆ ಸಿಸ್ಟಮ್‌ನಲ್ಲಿ ರೂಟ್ ಸವಲತ್ತುಗಳೊಂದಿಗೆ ಕೋಡ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಅನುಮತಿಸುತ್ತದೆ. ಉಬುಂಟು 21.10, 20.04 ಮತ್ತು 18.04 ಗಾಗಿ ಇಂದಿನ snapd ಪ್ಯಾಕೇಜ್ ನವೀಕರಣದಲ್ಲಿ ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಹರಿಸಲಾಗಿದೆ.

ಮೊದಲ ದುರ್ಬಲತೆ (CVE-2021-44730) ಹಾರ್ಡ್ ಲಿಂಕ್ ಮ್ಯಾನಿಪ್ಯುಲೇಷನ್ ಮೂಲಕ ದಾಳಿಯನ್ನು ಅನುಮತಿಸುತ್ತದೆ, ಆದರೆ ಸಿಸ್ಟಮ್ ಹಾರ್ಡ್ ಲಿಂಕ್ ರಕ್ಷಣೆಯನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸುವ ಅಗತ್ಯವಿದೆ (sysctl fs.protected_hardlinks ಅನ್ನು 0 ಗೆ ಹೊಂದಿಸುವುದು). ರೂಟ್ ಆಗಿ ರನ್ ಆಗುವ snap-update-ns ಮತ್ತು snap-discard-ns ಸಹಾಯಕ ಪ್ರೋಗ್ರಾಂಗಳ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಫೈಲ್‌ಗಳ ಸ್ಥಳದ ತಪ್ಪಾದ ಪರಿಶೀಲನೆಯಿಂದ ಸಮಸ್ಯೆ ಉಂಟಾಗುತ್ತದೆ. ಈ ಫೈಲ್‌ಗಳಿಗೆ ಮಾರ್ಗವನ್ನು sc_open_snapd_tool() ಕಾರ್ಯದಲ್ಲಿ /proc/self/exe ನಿಂದ ಅದರ ಸ್ವಂತ ಮಾರ್ಗವನ್ನು ಆಧರಿಸಿ ಲೆಕ್ಕಹಾಕಲಾಗಿದೆ, ಇದು ನಿಮ್ಮ ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ ಸ್ನ್ಯಾಪ್-ಸೀಮಿತಗೊಳಿಸಲು ಹಾರ್ಡ್ ಲಿಂಕ್ ಅನ್ನು ರಚಿಸಲು ಮತ್ತು ಸ್ನ್ಯಾಪ್-ನ ನಿಮ್ಮ ಸ್ವಂತ ಆವೃತ್ತಿಗಳನ್ನು ಇರಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಈ ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ ಅಪ್‌ಡೇಟ್-ಎನ್‌ಎಸ್ ಮತ್ತು ಸ್ನ್ಯಾಪ್-ಯುಟಿಲಿಟಿಗಳನ್ನು ತ್ಯಜಿಸಿ-ಎನ್‌ಎಸ್. ಹಾರ್ಡ್ ಲಿಂಕ್ ಮೂಲಕ ರನ್ ಮಾಡಿದ ನಂತರ, ರೂಟ್ ಹಕ್ಕುಗಳೊಂದಿಗೆ ಸ್ನ್ಯಾಪ್-ಸೀಮಿತಗೊಳಿಸುವಿಕೆಯು ಆಕ್ರಮಣಕಾರರಿಂದ ಬದಲಿಯಾಗಿ ಪ್ರಸ್ತುತ ಡೈರೆಕ್ಟರಿಯಿಂದ ಸ್ನ್ಯಾಪ್-ಅಪ್‌ಡೇಟ್-ಎನ್‌ಎಸ್ ಮತ್ತು ಸ್ನ್ಯಾಪ್-ಡಿಸ್ಕಾರ್ಡ್-ಎನ್‌ಎಸ್ ಫೈಲ್‌ಗಳನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತದೆ.

ಎರಡನೇ ದುರ್ಬಲತೆಯು ಓಟದ ಸ್ಥಿತಿಯಿಂದ ಉಂಟಾಗುತ್ತದೆ ಮತ್ತು ಡೀಫಾಲ್ಟ್ ಉಬುಂಟು ಡೆಸ್ಕ್‌ಟಾಪ್ ಕಾನ್ಫಿಗರೇಶನ್‌ನಲ್ಲಿ ಬಳಸಿಕೊಳ್ಳಬಹುದು. ಉಬುಂಟು ಸರ್ವರ್‌ನಲ್ಲಿ ಶೋಷಣೆಯು ಯಶಸ್ವಿಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸಲು, ಸ್ಥಾಪಿಸುವಾಗ ನೀವು "ಫೀಚರ್ಡ್ ಸರ್ವರ್ ಸ್ನ್ಯಾಪ್ಸ್" ವಿಭಾಗದಿಂದ ಪ್ಯಾಕೇಜ್‌ಗಳಲ್ಲಿ ಒಂದನ್ನು ಆಯ್ಕೆ ಮಾಡಬೇಕು. ಸ್ನ್ಯಾಪ್ ಪ್ಯಾಕೇಜ್‌ಗಾಗಿ ಮೌಂಟ್ ಪಾಯಿಂಟ್ ನೇಮ್‌ಸ್ಪೇಸ್ ತಯಾರಿಕೆಯ ಸಮಯದಲ್ಲಿ ಕರೆಯಲ್ಪಡುವ setup_private_mount() ಫಂಕ್ಷನ್‌ನಲ್ಲಿ ರೇಸ್ ಸ್ಥಿತಿಯು ಸ್ಪಷ್ಟವಾಗಿ ಕಂಡುಬರುತ್ತದೆ. ಈ ಕಾರ್ಯವು "/tmp/snap.$SNAP_NAME/tmp" ಎಂಬ ತಾತ್ಕಾಲಿಕ ಡೈರೆಕ್ಟರಿಯನ್ನು ರಚಿಸುತ್ತದೆ ಅಥವಾ ಸ್ನ್ಯಾಪ್ ಪ್ಯಾಕೇಜ್‌ಗಾಗಿ ಡೈರೆಕ್ಟರಿಗಳನ್ನು ಬೈಂಡ್-ಮೌಂಟ್ ಮಾಡಲು ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಒಂದನ್ನು ಬಳಸುತ್ತದೆ.

ತಾತ್ಕಾಲಿಕ ಡೈರೆಕ್ಟರಿಯ ಹೆಸರು ಊಹಿಸಬಹುದಾದ ಕಾರಣ, ಆಕ್ರಮಣಕಾರನು ಮಾಲೀಕರನ್ನು ಪರಿಶೀಲಿಸಿದ ನಂತರ ಅದರ ವಿಷಯಗಳನ್ನು ಸಾಂಕೇತಿಕ ಲಿಂಕ್‌ನೊಂದಿಗೆ ಬದಲಾಯಿಸಬಹುದು, ಆದರೆ ಮೌಂಟ್ ಸಿಸ್ಟಮ್ ಕರೆಗೆ ಕರೆ ಮಾಡುವ ಮೊದಲು. ಉದಾಹರಣೆಗೆ, ನೀವು ಅನಿಯಂತ್ರಿತ ಡೈರೆಕ್ಟರಿಯನ್ನು ಸೂಚಿಸುವ /tmp/snap.lxd ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ ಸಿಮ್‌ಲಿಂಕ್ "/tmp/snap.lxd/tmp" ಅನ್ನು ರಚಿಸಬಹುದು ಮತ್ತು ಮೌಂಟ್ () ಗೆ ಕರೆ ಸಿಮ್‌ಲಿಂಕ್ ಅನ್ನು ಅನುಸರಿಸುತ್ತದೆ ಮತ್ತು ಡೈರೆಕ್ಟರಿಯನ್ನು ಆರೋಹಿಸುತ್ತದೆ ಸ್ನ್ಯಾಪ್ ನೇಮ್‌ಸ್ಪೇಸ್. ಅದೇ ರೀತಿಯಲ್ಲಿ, ನೀವು ನಿಮ್ಮ ವಿಷಯಗಳನ್ನು /var/lib ನಲ್ಲಿ ಆರೋಹಿಸಬಹುದು ಮತ್ತು /var/lib/snapd/mount/snap.snap-store.user-fstab ಅನ್ನು ಬದಲಿಸುವ ಮೂಲಕ, ನಿಮ್ಮ /ಇತ್ಯಾದಿ ಡೈರೆಕ್ಟರಿಯ ಮೌಂಟ್ ಅನ್ನು ನೇಮ್‌ಸ್ಪೇಸ್‌ನಲ್ಲಿ ಆಯೋಜಿಸಬಹುದು. /etc/ld.so.preload ಅನ್ನು ಬದಲಿಸುವ ಮೂಲಕ ಮೂಲ ಹಕ್ಕುಗಳೊಂದಿಗೆ ನಿಮ್ಮ ಲೈಬ್ರರಿಯ ಲೋಡ್ ಅನ್ನು ಸಂಘಟಿಸಲು ಸ್ನ್ಯಾಪ್ ಪ್ಯಾಕೇಜ್.

ಸ್ನ್ಯಾಪ್-ಸೀಮಿತ ಉಪಯುಕ್ತತೆಯನ್ನು ಸುರಕ್ಷಿತ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ತಂತ್ರಗಳನ್ನು ಬಳಸಿಕೊಂಡು Go ನಲ್ಲಿ ಬರೆಯಲಾಗಿರುವುದರಿಂದ, AppArmor ಪ್ರೊಫೈಲ್‌ಗಳ ಆಧಾರದ ಮೇಲೆ ರಕ್ಷಣೆಯನ್ನು ಹೊಂದಿದೆ, seccomp ಕಾರ್ಯವಿಧಾನದ ಆಧಾರದ ಮೇಲೆ ಸಿಸ್ಟಮ್ ಕರೆಗಳನ್ನು ಫಿಲ್ಟರ್ ಮಾಡುತ್ತದೆ ಮತ್ತು ಬಳಸುವುದರಿಂದ ಶೋಷಣೆಯನ್ನು ರಚಿಸುವುದು ಕ್ಷುಲ್ಲಕವಲ್ಲದ ಕೆಲಸವಾಗಿದೆ ಎಂದು ಗಮನಿಸಲಾಗಿದೆ. ಪ್ರತ್ಯೇಕತೆಗಾಗಿ ಮೌಂಟ್ ನೇಮ್‌ಸ್ಪೇಸ್. ಆದಾಗ್ಯೂ, ಸಿಸ್ಟಮ್‌ನಲ್ಲಿ ಮೂಲ ಹಕ್ಕುಗಳನ್ನು ಪಡೆಯಲು ಸಂಶೋಧಕರು ಕೆಲಸದ ಶೋಷಣೆಯನ್ನು ಸಿದ್ಧಪಡಿಸಲು ಸಾಧ್ಯವಾಯಿತು. ಬಳಕೆದಾರರು ಒದಗಿಸಿದ ನವೀಕರಣಗಳನ್ನು ಸ್ಥಾಪಿಸಿದ ನಂತರ ಕೆಲವು ವಾರಗಳಲ್ಲಿ ಶೋಷಣೆ ಕೋಡ್ ಅನ್ನು ಪ್ರಕಟಿಸಲಾಗುತ್ತದೆ.

ಮೂಲ: opennet.ru

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