UDP ಪ್ಯಾಕೆಟ್ ಕಳುಹಿಸುವ ಮೂಲಕ ಕ್ರ್ಯಾಶ್ಗೆ ಕಾರಣವಾಗುವ Linux ಕರ್ನಲ್ನಲ್ಲಿನ ದುರ್ಬಲತೆ
Linux ಕರ್ನಲ್ನಲ್ಲಿ ಗುರುತಿಸಲಾಗಿದೆ ದುರ್ಬಲತೆ (CVE-2019-11683), ಇದು ವಿಶೇಷವಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಿದ UDP ಪ್ಯಾಕೆಟ್ಗಳನ್ನು (ಪ್ಯಾಕೆಟ್-ಆಫ್-ಡೆತ್) ಕಳುಹಿಸುವ ಮೂಲಕ ಸೇವೆಯ ನಿರಾಕರಣೆಯನ್ನು ದೂರದಿಂದಲೇ ಉಂಟುಮಾಡಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. GRO (ಜೆನೆರಿಕ್ ರಿಸೀವ್ ಆಫ್ಲೋಡ್) ತಂತ್ರಜ್ಞಾನದ ಅಳವಡಿಕೆಯೊಂದಿಗೆ udp_gro_receive_segment ಹ್ಯಾಂಡ್ಲರ್ನಲ್ಲಿ (net/ipv4/udp_offload.c) ದೋಷದಿಂದ ಸಮಸ್ಯೆ ಉಂಟಾಗುತ್ತದೆ ಮತ್ತು ಶೂನ್ಯ ಪ್ಯಾಡಿಂಗ್ನೊಂದಿಗೆ UDP ಪ್ಯಾಕೆಟ್ಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುವಾಗ ಕರ್ನಲ್ ಮೆಮೊರಿ ಪ್ರದೇಶಗಳ ವಿಷಯಗಳಿಗೆ ಹಾನಿಯಾಗಬಹುದು. (ಖಾಲಿ ಪೇಲೋಡ್).
ಸಮಸ್ಯೆಯು ಕರ್ನಲ್ ಮೇಲೆ ಮಾತ್ರ ಪರಿಣಾಮ ಬೀರುತ್ತದೆ 5.0UDP ಸಾಕೆಟ್ಗಳಿಗೆ GRO ಬೆಂಬಲ ಇದ್ದುದರಿಂದ ಅಳವಡಿಸಲಾಗಿದೆ ಕಳೆದ ವರ್ಷ ನವೆಂಬರ್ನಲ್ಲಿ ಮತ್ತು ಕರ್ನಲ್ನ ಇತ್ತೀಚಿನ ಸ್ಥಿರ ಬಿಡುಗಡೆಗೆ ಮಾತ್ರ ಪ್ರವೇಶಿಸಲು ಸಾಧ್ಯವಾಯಿತು. ಪ್ರತಿ ಪ್ಯಾಕೆಟ್ನ ಪ್ರತ್ಯೇಕ ಪ್ರಕ್ರಿಯೆ ಅಗತ್ಯವಿಲ್ಲದ ದೊಡ್ಡ ಬ್ಲಾಕ್ಗಳಾಗಿ ಬಹು ಪ್ಯಾಕೆಟ್ಗಳನ್ನು ಒಟ್ಟುಗೂಡಿಸುವ ಮೂಲಕ ಹೆಚ್ಚಿನ ಸಂಖ್ಯೆಯ ಒಳಬರುವ ಪ್ಯಾಕೆಟ್ಗಳ ಪ್ರಕ್ರಿಯೆಯನ್ನು ವೇಗಗೊಳಿಸಲು GRO ತಂತ್ರಜ್ಞಾನವು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.
TCP ಗಾಗಿ, ಸಮಸ್ಯೆಯು ಸಂಭವಿಸುವುದಿಲ್ಲ, ಏಕೆಂದರೆ ಈ ಪ್ರೋಟೋಕಾಲ್ ಪೇಲೋಡ್ ಇಲ್ಲದೆ ಪ್ಯಾಕೆಟ್ ಒಟ್ಟುಗೂಡಿಸುವಿಕೆಯನ್ನು ಬೆಂಬಲಿಸುವುದಿಲ್ಲ.
ಪರಿಣಾಮವಾಗಿ ಸಮಸ್ಯೆ ಕಂಡುಬಂದಿದೆ ಬಳಕೆ Google ನಿಂದ ರಚಿಸಲಾದ ಸ್ವಯಂಚಾಲಿತ ಫಜಿಂಗ್ ಪರೀಕ್ಷಾ ವ್ಯವಸ್ಥೆ syzbot ಮತ್ತು ವಿಶ್ಲೇಷಕ ಕಸನ್ (KernelAddressSanitizer), ಮೆಮೊರಿಯೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವಾಗ ದೋಷಗಳನ್ನು ಗುರುತಿಸುವ ಗುರಿಯನ್ನು ಮತ್ತು ತಪ್ಪಾದ ಮೆಮೊರಿ ಪ್ರವೇಶದ ಸಂಗತಿಗಳು, ಉದಾಹರಣೆಗೆ ಮುಕ್ತವಾದ ಮೆಮೊರಿ ಪ್ರದೇಶಗಳನ್ನು ಪ್ರವೇಶಿಸುವುದು ಮತ್ತು ಅಂತಹ ಕುಶಲತೆಗಳಿಗೆ ಉದ್ದೇಶಿಸದ ಮೆಮೊರಿ ಪ್ರದೇಶಗಳಲ್ಲಿ ಕೋಡ್ ಅನ್ನು ಇರಿಸುವುದು.