FlawOpen

flawopen.com/AI Security/lmcache-multiprocess-pickle-deserialization-cve-2026-105192

● CVE-2026-105192 · CVSS 9.8[2] · अति गंभीर
सुरक्षा अनुसंधान · FlawOpen

CVE-2026-105192: LMCache मल्टीप्रोसेस मोड में बिना प्रमाणीकरण pickle deserialization

CVE-2026-105192 में LMCache के मल्टीप्रोसेस ट्रांसपोर्ट तक पहुँचने वाला बिना प्रमाणीकरण का peer असुरक्षित pickle deserialization करा सकता है। ZMQ endpoint की पहुँच जाँचें, पहुँच सीमित करें और विक्रेता के सुधार पर नज़र रखें।[1], [2]

CVSS वेक्टरCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H[2]
💡 आसान भाषा में (ELI5)

LMCache नेटवर्क peer से सीलबंद पैकेट लेता है और उसे ऐसे तरीके से खोलता है जो छिपे निर्देश चला सकता है। सर्वर पैकेट के घोषित संदेश प्रकार की जाँच करे, उससे पहले ही समस्या होती है।[1], [2]

इस पेज के मुख्य शब्द

CWE-502: असुरक्षित deserialization
Python pickle ऑब्जेक्ट वापस बनाते समय व्यवहार चला सकता है; अविश्वसनीय नेटवर्क peer के डेटा के लिए यह सुरक्षित नहीं है।[1], [2]
LMCache मल्टीप्रोसेस मोड
इस मोड में LMCache घटक ZeroMQ ट्रांसपोर्ट से बात करते हैं। CVE रिकॉर्ड बिना प्रमाणीकरण वाले ROUTER endpoint का वर्णन करता है।[2], [5]
MessagePack extension
डिकोडिंग के दौरान MessagePack extension value, request type चुनने से पहले DeviceIPCWrapper.Deserialize तक पहुँचती है।[2], [4], [3]
एक्सपोज़र सीमा
CVE रिकॉर्ड के अनुसार ट्रांसपोर्ट डिफ़ॉल्ट रूप से localhost पर bind होता है। Routable --host या सुलभ cluster network संभावित प्रेषकों को बदलता है।[2], [5]
प्रभावित संस्करण
प्रकटीकरण के अनुसार 2026-10-07 तक संस्करण 0.3.9 से 0.5.5, 0.5.6 रिलीज़ उम्मीदवार और विकास शाखा प्रभावित हैं।[1], [2]
CWE-306: महत्वपूर्ण फ़ंक्शन के लिए प्रमाणीकरण का अभाव
CVE रिकॉर्ड CWE-306 भी देता है, क्योंकि ZeroMQ ROUTER peer की पहचान प्रमाणित नहीं करता। यह transport boundary की अलग कमजोरी है और असुरक्षित pickle पुनर्निर्माण (CWE-502) से भिन्न है। जोखिम के लिए endpoint तक पहुँच आवश्यक है; localhost पर डिफ़ॉल्ट bind अपने आप उसे दूरस्थ रूप से उपलब्ध नहीं करता।[2]

फ्रेमवर्क मैपिंग

  • इस गाइड में बताई गई कमजोरी के लिए CWE संदर्भ: CWE-306 CWE-502

हमले का चरण-दर-चरण प्रवाह

चरण 1

डिप्लॉयमेंट मल्टीप्रोसेस ट्रांसपोर्ट चालू करता है

समस्या LMCache के मल्टीप्रोसेस/डिस्ट्रिब्यूटेड मोड की है, हर इंस्टॉलेशन की नहीं।[2], [1]

चरण 2

Peer ZMQ endpoint तक पहुँच सकता है

CVE रिकॉर्ड में डिफ़ॉल्ट localhost है; ऑपरेटर routable --host सेट कर सकता है। पहुँच होना आवश्यक शर्त है।[2], [5]

चरण 3

डिकोडिंग pickle.loads चलाती है

कोड 1 वाला MessagePack extension DeviceIPCWrapper.Deserialize तक जाता है, जो handler द्वारा संदेश प्रकार जाँचने से पहले pickle.loads बुलाता है।[2], [4], [3]

चरण 4

प्रोसेस पुनर्निर्मित object संभालता है

रिकॉर्ड के अनुसार execution LMCache process के अधिकार से होता है; आधिकारिक container root के रूप में चलता है। यह प्रभाव बताता है, किसी विशेष deployment का exposure नहीं।[2], [3]

डिप्लॉयमेंट स्थिति और कार्रवाई

स्थितिआकलन
मल्टीप्रोसेस मोड बंदयह CVE path सक्रिय नहीं है।
केवल loopback पर bindदूरस्थ peers को endpoint नहीं पहुँचना चाहिए; host networking और local trust boundaries जाँचें।
Routable bind या खुला cluster portइसे संभावित रूप से reachable मानें; पहुँच सीमित करें और process privileges जाँचें।
प्रभावित संस्करणप्रकटीकरण के अनुसार 2026-10-07 तक संस्करण 0.3.9 से 0.5.5, 0.5.6 रिलीज़ उम्मीदवार और विकास शाखा प्रभावित हैं।

सोर्स कोड: कमज़ोर बनाम सुरक्षित कार्यान्वयन

CVE Program रिकॉर्ड CVE-2026-105192 को JFrog से जोड़ता है और MessagePack extension → DeviceIPCWrapper.Deserialize → pickle.loads path, default localhost bind, routable --host और CVSS 9.8 बताता है। Upstream source deserializer call की पुष्टि करता है। इस लेख में weaponized pickle नहीं है और vendor patch उपलब्ध होने का दावा नहीं है। Endpoint तक पहुँच आवश्यक है; default local binding अपने आप इसे दूरस्थ नेटवर्क से reachable नहीं बनाती। अस्थायी code उदाहरण इस decoding path को बंद करता है, यह LMCache का सीधे लागू होने वाला patch नहीं है; operational impact जाँचें और supported fix तक network isolate करें।[2], [1], [3], [4], [5]

कमज़ोर कार्यान्वयन
@staticmethod
def Deserialize(data: bytes) -> DeviceIPCWrapper:
    return pickle.loads(data)
सुरक्षित और सुदृढ़ फ़िक्स
@staticmethod
def Deserialize(data: bytes) -> DeviceIPCWrapper:
    # अस्थायी fail-closed रोकथाम; यह upstream patch नहीं है।
    raise PermissionError("LMCache peer deserialization disabled pending vendor fix")

इंजीनियरिंग और सिस्टम सुरक्षा चेकलिस्ट

स्रोत

← AI Security Directory →