Linux ಕರ್ನಲ್‌ನ VFS ನಲ್ಲಿನ ದುರ್ಬಲತೆ ನಿಮ್ಮ ಸವಲತ್ತುಗಳನ್ನು ಹೆಚ್ಚಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ

ಲಿನಕ್ಸ್ ಕರ್ನಲ್ ಒದಗಿಸಿದ ಫೈಲ್‌ಸಿಸ್ಟಮ್ ಕಾಂಟೆಕ್ಸ್ಟ್ API ನಲ್ಲಿ ದುರ್ಬಲತೆಯನ್ನು (CVE-2022-0185) ಗುರುತಿಸಲಾಗಿದೆ, ಇದು ಸ್ಥಳೀಯ ಬಳಕೆದಾರರಿಗೆ ಸಿಸ್ಟಮ್‌ನಲ್ಲಿ ರೂಟ್ ಸವಲತ್ತುಗಳನ್ನು ಪಡೆಯಲು ಅನುಮತಿಸುತ್ತದೆ. ಸಮಸ್ಯೆಯನ್ನು ಗುರುತಿಸಿದ ಸಂಶೋಧಕರು ಡೀಫಾಲ್ಟ್ ಕಾನ್ಫಿಗರೇಶನ್‌ನಲ್ಲಿ ಉಬುಂಟು 20.04 ನಲ್ಲಿ ಕೋಡ್ ಅನ್ನು ರೂಟ್ ಆಗಿ ಕಾರ್ಯಗತಗೊಳಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುವ ಶೋಷಣೆಯ ಪ್ರದರ್ಶನವನ್ನು ಪ್ರಕಟಿಸಿದರು. ವಿತರಣೆಗಳು ದುರ್ಬಲತೆಯನ್ನು ಸರಿಪಡಿಸುವ ನವೀಕರಣವನ್ನು ಬಿಡುಗಡೆ ಮಾಡಿದ ನಂತರ ಶೋಷಣೆ ಕೋಡ್ ಅನ್ನು ಒಂದು ವಾರದೊಳಗೆ GitHub ನಲ್ಲಿ ಪೋಸ್ಟ್ ಮಾಡಲು ಯೋಜಿಸಲಾಗಿದೆ.

ದುರ್ಬಲತೆಯು VFS ನಲ್ಲಿನ legacy_parse_param() ಕಾರ್ಯದಲ್ಲಿ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ ಮತ್ತು ಫೈಲ್‌ಸಿಸ್ಟಮ್ ಸಂದರ್ಭ API ಅನ್ನು ಬೆಂಬಲಿಸದ ಫೈಲ್ ಸಿಸ್ಟಮ್‌ಗಳಲ್ಲಿ ಒದಗಿಸಲಾದ ಗರಿಷ್ಠ ಗಾತ್ರದ ನಿಯತಾಂಕಗಳನ್ನು ಸರಿಯಾಗಿ ಪರಿಶೀಲಿಸುವಲ್ಲಿ ವಿಫಲವಾಗಿದೆ. ತುಂಬಾ ದೊಡ್ಡದಾದ ಪ್ಯಾರಾಮೀಟರ್ ಅನ್ನು ರವಾನಿಸುವುದರಿಂದ ಬರೆಯಬೇಕಾದ ಡೇಟಾದ ಗಾತ್ರವನ್ನು ಲೆಕ್ಕಾಚಾರ ಮಾಡಲು ಬಳಸಲಾಗುವ ಪೂರ್ಣಾಂಕ ವೇರಿಯೇಬಲ್‌ನ ಓವರ್‌ಫ್ಲೋಗೆ ಕಾರಣವಾಗಬಹುದು - ಕೋಡ್ ಬಫರ್ ಓವರ್‌ಫ್ಲೋ ಚೆಕ್ ಅನ್ನು ಹೊಂದಿದೆ "if (len > PAGE_SIZE - 2 - size)", ಅದು ಇಲ್ಲ ಗಾತ್ರದ ಮೌಲ್ಯವು 4094 ಕ್ಕಿಂತ ಹೆಚ್ಚಿದ್ದರೆ ಕೆಲಸ ಮಾಡಿ. ಕೆಳಗಿನ ಬೌಂಡ್ ಮೂಲಕ ಪೂರ್ಣಾಂಕದ ಓವರ್‌ಫ್ಲೋಗಾಗಿ (ಪೂರ್ಣಾಂಕ ಒಳಹರಿವು, 4096 - 2 - 4095 ಅನ್ನು ಸಹಿ ಮಾಡದ ಇಂಟ್‌ಗೆ ಬಿತ್ತರಿಸಿದಾಗ, ಫಲಿತಾಂಶವು 2147483648 ಆಗಿದೆ).

ಈ ದೋಷವು ವಿಶೇಷವಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಲಾದ ಫೈಲ್ ಸಿಸ್ಟಮ್ ಇಮೇಜ್ ಅನ್ನು ಪ್ರವೇಶಿಸುವಾಗ, ಬಫರ್ ಓವರ್‌ಫ್ಲೋ ಅನ್ನು ಉಂಟುಮಾಡಲು ಮತ್ತು ನಿಯೋಜಿಸಲಾದ ಮೆಮೊರಿ ಪ್ರದೇಶವನ್ನು ಅನುಸರಿಸಿ ಕರ್ನಲ್ ಡೇಟಾವನ್ನು ಓವರ್‌ರೈಟ್ ಮಾಡಲು ಅನುಮತಿಸುತ್ತದೆ. ದುರ್ಬಲತೆಯನ್ನು ಬಳಸಿಕೊಳ್ಳಲು, ನೀವು CAP_SYS_ADMIN ಹಕ್ಕುಗಳನ್ನು ಹೊಂದಿರಬೇಕು, ಅಂದರೆ. ನಿರ್ವಾಹಕ ಅಧಿಕಾರಗಳು. ಸಮಸ್ಯೆಯೆಂದರೆ, ವ್ಯವಸ್ಥೆಯು ಬಳಕೆದಾರ ನೇಮ್‌ಸ್ಪೇಸ್‌ಗಳಿಗೆ ಬೆಂಬಲವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿದ್ದರೆ, ಸವಲತ್ತು ಇಲ್ಲದ ಬಳಕೆದಾರರು ಪ್ರತ್ಯೇಕವಾದ ಕಂಟೇನರ್‌ನಲ್ಲಿ ಅಂತಹ ಅನುಮತಿಗಳನ್ನು ಪಡೆಯಬಹುದು. ಉದಾಹರಣೆಗೆ, ಉಬುಂಟು ಮತ್ತು ಫೆಡೋರಾದಲ್ಲಿ ಬಳಕೆದಾರರ ನೇಮ್‌ಸ್ಪೇಸ್‌ಗಳನ್ನು ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ಸಕ್ರಿಯಗೊಳಿಸಲಾಗುತ್ತದೆ, ಆದರೆ ಡೆಬಿಯನ್ ಮತ್ತು RHEL ನಲ್ಲಿ ಸಕ್ರಿಯಗೊಳಿಸಲಾಗುವುದಿಲ್ಲ (ಕಂಟೇನರ್ ಐಸೋಲೇಶನ್ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ಗಳನ್ನು ಬಳಸದ ಹೊರತು).

ಲಿನಕ್ಸ್ ಕರ್ನಲ್ 5.1 ರಿಂದ ಸಮಸ್ಯೆ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತಿದೆ ಮತ್ತು ನಿನ್ನೆಯ ನವೀಕರಣಗಳು 5.16.2, 5.15.16, 5.10.93, 5.4.173 ನಲ್ಲಿ ಪರಿಹರಿಸಲಾಗಿದೆ. ದುರ್ಬಲತೆಯನ್ನು ಸರಿಪಡಿಸುವ ಪ್ಯಾಕೇಜ್ ನವೀಕರಣಗಳನ್ನು ಈಗಾಗಲೇ RHEL, Debian, Fedora ಮತ್ತು Ubuntu ಗಾಗಿ ಬಿಡುಗಡೆ ಮಾಡಲಾಗಿದೆ. Arch Linux, Gentoo, SUSE ಮತ್ತು openSUSE ನಲ್ಲಿ ಫಿಕ್ಸ್ ಇನ್ನೂ ಲಭ್ಯವಿಲ್ಲ. ಕಂಟೇನರ್ ಐಸೋಲೇಶನ್ ಅನ್ನು ಬಳಸದ ಸಿಸ್ಟಮ್‌ಗಳಿಗೆ ಭದ್ರತಾ ಪರಿಹಾರವಾಗಿ, ನೀವು sysctl "user.max_user_namespaces" ಮೌಲ್ಯವನ್ನು 0 ಗೆ ಹೊಂದಿಸಬಹುದು: echo "user.max_user_namespaces=0" > /etc/sysctl.d/userns.conf # sysctl -p /etc/ sysctl.d/userns.conf

ಮೂಲ: opennet.ru

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