ld.so OpenBSD ಯಲ್ಲಿನ ದುರ್ಬಲತೆ

ಡೈನಾಮಿಕ್ ಲೋಡರ್ ld.so., OpenBSD ಯೊಂದಿಗೆ ಸೇರಿಸಲಾಗಿದೆ, ಕೆಲವು ಷರತ್ತುಗಳ ಅಡಿಯಲ್ಲಿ, SUID/SGID- ಅಪ್ಲಿಕೇಶನ್‌ಗಳು LD_LIBRARY_PATH ಪರಿಸರ ವೇರಿಯೇಬಲ್ ಅನ್ನು ಬಿಡುತ್ತವೆ ಮತ್ತು ಆದ್ದರಿಂದ ಉನ್ನತ ಸವಲತ್ತುಗಳೊಂದಿಗೆ ಚಾಲನೆಯಲ್ಲಿರುವ ಪ್ರಕ್ರಿಯೆಯ ಸಂದರ್ಭದಲ್ಲಿ ಮೂರನೇ ವ್ಯಕ್ತಿಯ ಕೋಡ್ ಅನ್ನು ಲೋಡ್ ಮಾಡಲು ಅನುಮತಿಸುತ್ತದೆ. ದುರ್ಬಲತೆಯನ್ನು ಸರಿಪಡಿಸುವ ಪ್ಯಾಚ್‌ಗಳು ಬಿಡುಗಡೆಗಳಿಗೆ ಲಭ್ಯವಿವೆ 6.5 и 6.6. ಬೈನರಿ ಪ್ಯಾಚ್‌ಗಳು (ಸಿಸ್ಪ್ಯಾಚ್) amd64, i386 ಮತ್ತು arm64 ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ಗಳು ಈಗಾಗಲೇ ಉತ್ಪಾದನೆಯಲ್ಲಿವೆ ಮತ್ತು ಈ ಸುದ್ದಿ ಪ್ರಕಟವಾಗುವ ಹೊತ್ತಿಗೆ ಡೌನ್‌ಲೋಡ್‌ಗೆ ಲಭ್ಯವಿರಬೇಕು.

ಸಮಸ್ಯೆಯ ಸಾರ: ಕಾರ್ಯಾಚರಣೆಯ ಸಮಯದಲ್ಲಿ, ld.so ಮೊದಲು ಪರಿಸರದಿಂದ LD_LIBRARY_PATH ವೇರಿಯೇಬಲ್‌ನ ಮೌಲ್ಯವನ್ನು ಹೊರತೆಗೆಯುತ್ತದೆ ಮತ್ತು _dl_split_path() ಕಾರ್ಯವನ್ನು ಬಳಸಿಕೊಂಡು ಅದನ್ನು ಸ್ಟ್ರಿಂಗ್‌ಗಳ ಒಂದು ಶ್ರೇಣಿಯಾಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ - ಡೈರೆಕ್ಟರಿಗಳಿಗೆ ಮಾರ್ಗಗಳು. ಪ್ರಸ್ತುತ ಪ್ರಕ್ರಿಯೆಯನ್ನು SUID/SGID ಅಪ್ಲಿಕೇಶನ್‌ನಿಂದ ಪ್ರಾರಂಭಿಸಲಾಗಿದೆ ಎಂದು ನಂತರ ತಿರುಗಿದರೆ, ನಂತರ ರಚಿಸಲಾದ ಅರೇ ಮತ್ತು ವಾಸ್ತವವಾಗಿ, LD_LIBRARY_PATH ವೇರಿಯೇಬಲ್ ಅನ್ನು ತೆರವುಗೊಳಿಸಲಾಗುತ್ತದೆ. ಅದೇ ಸಮಯದಲ್ಲಿ, _dl_split_path() ಮೆಮೊರಿ ಖಾಲಿಯಾಗಿದ್ದರೆ (ಪರಿಸರದ ಅಸ್ಥಿರಗಳ ಗಾತ್ರದಲ್ಲಿ ಸ್ಪಷ್ಟವಾದ 256 kB ಮಿತಿಯಿಂದಾಗಿ ಇದು ಕಷ್ಟಕರವಾಗಿದೆ, ಆದರೆ ಸೈದ್ಧಾಂತಿಕವಾಗಿ ಸಾಧ್ಯ), ನಂತರ _dl_libpath ವೇರಿಯೇಬಲ್ ಮೌಲ್ಯವನ್ನು NULL ಪಡೆಯುತ್ತದೆ ಮತ್ತು ನಂತರದ ಪರಿಶೀಲನೆ ಈ ವೇರಿಯಬಲ್‌ನ ಮೌಲ್ಯವು _dl_unsetenv("LD_LIBRARY_PATH") ಗೆ ಕರೆಯನ್ನು ಬಿಟ್ಟುಬಿಡಲು ಕಾರಣವಾಗುತ್ತದೆ.

ತಜ್ಞರು ಕಂಡುಹಿಡಿದ ದುರ್ಬಲತೆ ಕ್ವಾಲಿಸ್, ಹಾಗೆಯೇ ಹಲವಾರು ಹಿಂದೆ ಬಹಿರಂಗಪಡಿಸಲಾಗಿದೆ ಸಮಸ್ಯೆಗಳು. ದುರ್ಬಲತೆಯನ್ನು ಗುರುತಿಸಿದ ಭದ್ರತಾ ಸಂಶೋಧಕರು ಸಮಸ್ಯೆಯನ್ನು ಎಷ್ಟು ಬೇಗನೆ ಪರಿಹರಿಸಲಾಗಿದೆ ಎಂದು ಗಮನಿಸಿದರು: ಓಪನ್‌ಬಿಎಸ್‌ಡಿ ಯೋಜನೆಯು ಅಧಿಸೂಚನೆಯನ್ನು ಸ್ವೀಕರಿಸಿದ ಮೂರು ಗಂಟೆಗಳ ಒಳಗೆ ಪ್ಯಾಚ್ ಅನ್ನು ಸಿದ್ಧಪಡಿಸಲಾಗಿದೆ ಮತ್ತು ನವೀಕರಣಗಳನ್ನು ಬಿಡುಗಡೆ ಮಾಡಲಾಗಿದೆ.

ಸೇರ್ಪಡೆ: ಸಮಸ್ಯೆಗೆ ಸಂಖ್ಯೆಯನ್ನು ನಿಗದಿಪಡಿಸಲಾಗಿದೆ CVE-2019-19726. ಓಸ್-ಸೆಕ್ಯುರಿಟಿ ಮೇಲಿಂಗ್ ಪಟ್ಟಿಯಲ್ಲಿ ಮಾಡಲಾಗಿದೆ ಅಧಿಕೃತ ಪ್ರಕಟಣೆ, ಓಪನ್‌ಬಿಎಸ್‌ಡಿ 6.6, 6.5, 6.2 ಮತ್ತು 6.1 ಆರ್ಕಿಟೆಕ್ಚರ್‌ಗಳಲ್ಲಿ ಚಾಲನೆಯಲ್ಲಿರುವ ಪ್ರೊಟೊಟೈಪ್ ಶೋಷಣೆ ಸೇರಿದಂತೆ
amd64 ಮತ್ತು i386 (ಶೋಷಣೆಯನ್ನು ಇತರ ಆರ್ಕಿಟೆಕ್ಚರ್‌ಗಳಿಗೆ ಅಳವಡಿಸಿಕೊಳ್ಳಬಹುದು).
ಡೀಫಾಲ್ಟ್ ಇನ್‌ಸ್ಟಾಲೇಶನ್‌ನಲ್ಲಿ ಸಮಸ್ಯೆಯನ್ನು ಬಳಸಿಕೊಳ್ಳಬಹುದು ಮತ್ತು chpass ಅಥವಾ passwd suid ಯುಟಿಲಿಟಿಗಳನ್ನು ಚಲಾಯಿಸುವಾಗ ಲೈಬ್ರರಿ ಪರ್ಯಾಯದ ಮೂಲಕ ಕೋಡ್ ಅನ್ನು ರೂಟ್ ಆಗಿ ಕಾರ್ಯಗತಗೊಳಿಸಲು ಸವಲತ್ತು ಇಲ್ಲದ ಸ್ಥಳೀಯ ಬಳಕೆದಾರರಿಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಕಾರ್ಯಾಚರಣೆಗೆ ಅಗತ್ಯವಾದ ಕಡಿಮೆ-ಮೆಮೊರಿ ಪರಿಸ್ಥಿತಿಗಳನ್ನು ರಚಿಸಲು, ಸೆಟ್ರ್ಲಿಮಿಟ್ ಮೂಲಕ RLIMIT_DATA ಮಿತಿಯನ್ನು ಹೊಂದಿಸಿ.

ಮೂಲ: opennet.ru

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