Bluetooth: SCO: sco_recv_frame() में use-after-free को ठीक करें क्योंकि sock_hold गायब है
प्लेटफ़ॉर्म
linux
कॉम्पोनेन्ट
linux
ठीक किया गया
e76e8f0581ef555eacc11dbb095e602fb30a5361
लिनक्स कर्नेल में, निम्नलिखित भेद्यता को हल किया गया है: Bluetooth: SCO: sco_recv_frame() में use-after-free को ठीक करें क्योंकि sock_hold गायब है sco_recv_frame() conn->sk को sco_conn_lock() के तहत पढ़ता है लेकिन तुरंत सॉकेट के संदर्भ को पकड़े बिना लॉक जारी कर देता है। एक समवर्ती close() लॉक जारी होने और बाद के sk->sk_state एक्सेस के बीच सॉकेट को मुक्त कर सकता है, जिसके परिणामस्वरूप use-after-free होता है। उसी फ़ाइल में अन्य फ़ंक्शन (sco_sock_timeout(), sco_conn_del()) सुरक्षित रूप से लॉक के तहत संदर्भ रखने के लिए sco_sock_hold() का सही उपयोग करते हैं। लॉक जारी करने से पहले संदर्भ लेने के लिए sco_sock_hold() का उपयोग करके और सभी निकास पथों पर sock_put() जोड़कर सुधार करें।
कैसे ठीक करें
कोई आधिकारिक पैच उपलब्ध नहीं है। वैकल्पिक समाधान खोजें या अपडेट की निगरानी करें।
अपनी निर्भरताओं की स्वचालित निगरानी करें
जब नई कमज़ोरियाँ आपके प्रोजेक्ट को प्रभावित करें तो अलर्ट पाएं।
मुफ़्त शुरू करें